Администратор Django с радостью поддерживает отношения "многие-к-одному" и "многие-ко-многим" через HTML <SELECT> поле формы, позволяющее выбрать один или несколько вариантов соответственно. Там даже хороший виджет Javascript filter_horizontal
, чтобы помочь.
Я пытаюсь сделать то же самое со стороны "один-ко-многим" через related_name. Я не вижу, насколько сильно он отличается от многих-ко многим, отображая его в форме, мне просто нужен список SELECT с несколькими выборами. Но я не могу просто добавить значение related_name
в список полей ModelAdmin
-derived.
Поддерживает ли Django одно-много полей таким образом?
Моя модель Django что-то вроде этого (ухитрилась упростить пример):
class Person(models.Model):
...
manager = models.ForeignKey('self', related_name='staff',
null=True, blank=True, )
На странице администрирования Person я могу легко получить <SELECT> список всех возможных сотрудников, чтобы выбрать этого менеджера. Я также хочу отобразить множественный выбор <SELECT> список всех сотрудников менеджера.
Я не хочу использовать встроенные строки, так как я не хочу редактировать данные подчиненных; Я хочу иметь возможность добавлять/удалять людей из списка.
(Я пытаюсь использовать django-ajax-selects для замены виджета SELECT, но это by-by.)