我定义了两个模型,groups 和 group_members,后者定义了与前者的多对多关系:
class Group(models.Model):
group_name = models.CharField(max_length=100, default="New Group")
group_created_date = models.DateField(default=date.today)
class GroupMember(models.Model):
groups_joined = models.ManyToManyField(Group)
email = models.EmailField(max_length=100)
name = models.CharField(max_length=100)
然后对于我的 admin.py 我只需:
admin.site.register(Group)
admin.site.register(GroupMember)
从一方面来说,这非常有效,当查看 GroupMember 对象时,我可以看到并编辑它们所属的所有组。
但是,当查看组对象时,我看不到该侧的关系 - 我看不到属于该组的任何成员。
我需要在 admin.py 中添加什么才能实现这一点?我一直在寻找如何做到这一点,但答案似乎令人费解和/或过时。
你需要像这样定义内联:
class GroupMemberInline(admin.TabularInline):
model = GroupMember
extra = 1 objects
class GroupAdmin(admin.ModelAdmin):
inlines = [GroupMemberInline]
# add extra options here
admin.site.register(Group, GroupAdmin)
admin.site.register(GroupMember)