【发布时间】:2011-08-31 03:09:39
【问题描述】:
在用户对象(编辑用户)的默认 Django 管理视图中,可以编辑用户的组成员资格。如果我也想反过来呢? IE。在群组编辑页面中,可以选择属于正在编辑的群组的用户。
正如我所看到的,Django 没有从 Group 到 User 对象的 ManyToMany 映射,这使得(?)无法为这种特殊情况实现 ModelAdmin 类。如果我可以创建一个额外的 UsersOfGroup 模型类并在 Django 的 Group 模型的 ManyToMany 字段中使用它作为直通属性,那么可能会有一种方法。
任何想法,这是否可以使用 ModelAdmin 技巧来实现,还是我只需要为编辑组制作自定义视图?
我已经检查了另外两个问题,但它们的作用并不完全相同:
Assigning a group while adding user in admin
和
Show group membership in admin
更新: 克里斯的回答几乎就在那里。 :) 该组引用了用户集,但它被称为 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']
【问题讨论】:
标签: django django-admin membership usergroups