Python Django将多个关系添加到管理员用户表单
我正在使用django管理功能作为我站点的后端管理。除了一件事之外,它似乎非常适合我的需要。我的一个模型与用户有多对多关系。模型如下:Python Django将多个关系添加到管理员用户表单,python,django,django-models,django-forms,django-admin,Python,Django,Django Models,Django Forms,Django Admin,我正在使用django管理功能作为我站点的后端管理。除了一件事之外,它似乎非常适合我的需要。我的一个模型与用户有多对多关系。模型如下: class Facility(models.Model): id = models.IntegerField(primary_key=True) name = models.TextField() users = models.ManyToManyField(User) def __str__(self):
class Facility(models.Model):
id = models.IntegerField(primary_key=True)
name = models.TextField()
users = models.ManyToManyField(User)
def __str__(self):
return str(self.id)
我已经获得了允许我在设施页面上向设施添加用户的功能,但是由于内置了管理表单,我不知道如何修改它。我找到了我想要的东西,所以:
admin.site.unregister(User)
class MyUserAdmin(UserAdmin):
add_fieldsets = (
(None, {
'classes': ('wide',),
'fields': ('username', 'email', 'password1', 'password2')}
),
)
admin.site.register(User, MyUserAdmin)
我试着用电子邮件交换
设施
或设施
或设施
,但很明显,这不起作用,当然也不起作用。有人有什么建议吗?在django中,此功能名称或SQLAlchemy中的“反向引用”。如您所见:
如果模型具有ForeignKey,则该外键模型的实例将可以访问返回第一个模型的所有实例的管理器。默认情况下,此管理器名为FOO_set,其中FOO是源模型名称,小写
因此,在您的情况下,您应该使用设施集
或在用户
设施
模型中有许多字段
顺便说一句:建议使用
InlineModelAdmin
比其他任何东西都更简单、更优雅。您考虑过使用InlineModelAdmin吗@schillingt我记得我遇到过,但它确实看起来像我需要的。我在这里怎么用?我想在默认的管理员用户添加/编辑页面上放置一个多选下拉列表。我想这就是你想要的。