使用Django的ManyToManyField和预定义的中间模型
以下是我的模型:使用Django的ManyToManyField和预定义的中间模型,django,many-to-many,Django,Many To Many,以下是我的模型: 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 U
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
由于某些原因,我仍然无法理解,每当我尝试处理这个问题时,我的网页上总是会出现以下错误
ImproperlyConfigured at /admin/mysite
'GroupAdminAdmin.filter_horizontal[0]' must be a ManyToManyField.
我做错了什么?您不能在ForeignKey上使用filter horizontal小部件,这几乎没有任何意义,因为它只能引用一个对象,而小部件的主要目标是轻松选择多个对象。
您可以在管理员中使用它来管理字段管理员的组,也可以在那里使用内联管理员来轻松创建新用户对象。当然可以。不过,我仍然没有得到ModelMultipleEchoIceField字段
ImproperlyConfigured at /admin/mysite
'GroupAdminAdmin.filter_horizontal[0]' must be a ManyToManyField.