Назначение объектов-пользователей группе при редактировании объекта-группы в Django admin

В стандартном представлении администратора Django для объекта-пользователя (редактировать пользователя) можно редактировать членство пользователя в группах. Что, если бы я хотел и наоборот? Т.е. на странице редактирования группы можно было выбрать пользователей, которые принадлежат к редактируемой группе.

Как я вижу, Django не имеет отображения ManyToMany из объекта Group в User, что делает невозможным (?) Реализацию Класс ModelAdmin для этого конкретного случая. Если бы я мог создать дополнительный класс модели UsersOfGroup и использовать его в поле ManyToMany модели Django Group в качестве сквозного атрибута, мог бы быть способ.

Любые идеи, возможно ли это реализовать с помощью уловок ModelAdmin, или у меня просто есть чтобы создать пользовательский вид для редактирования групп?

Я проверил эти два других вопроса, но они не совсем то же самое: Ответ от Криса был почти готов. :) В группе есть ссылка на набор пользователей, но она называется user_set , а не users . Итак, вот изменения, которые я сделал:

if self.instance and self.instance.pk:
    self.fields['users'].initial = self.instance.user_set.all()

и

if group.pk:
    group.user_set = self.cleaned_data['users']
6
задан ekad 2 December 2017 в 07:55
поделиться