以下是我的模特:
class Groups(models.Model):
group_id = models.AutoField(primary_key=True)
group_name = models.CharField(max_length=20,db_index=True)
#Some other fields
admins = models.ManyToManyField(Users, through='GroupAdmin')
class Users(models.Model):
user_id = models.AutoField(primary_key=True)
#Some other fields...
name_text = models.CharField(max_length=20)
class GroupAdmin(models.Model):
group_admin_id = models.AutoField(primary_key=True)
user = models.ForeignKey(Users)
group = models.ForeignKey(Groups)
然后我将ModelAdmin
定义为
class GroupAdminAdmin(admin.ModelAdmin):
filter_horizontal = ['user']
admin.site.register(GroupAdmin, GroupAdminAdmin)
由于某些原因,我仍然无法弄清楚,每当我尝试使用此功能时,我的网页上都会出现以下错误。
ImproperlyConfigured at /admin/mysite
'GroupAdminAdmin.filter_horizontal[0]' must be a ManyToManyField.
我做错了什么?
答案 0 :(得分:0)
您无法在ForeignKey
上使用过滤器水平小部件(这几乎没有任何意义,因为它只能引用一个对象,而小部件的主要目标是轻松选择多个对象)。
您可以在Groups
字段admins
的管理员处使用该字段,也可以在其中使用内联管理员,以便轻松创建新的Users
个对象。