Использование ManyToManyField в Django с предварительно определенной промежуточной моделью - PullRequest
0 голосов
/ 23 ноября 2010

Вот мои модели:

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.

Что я делаю не так?

1 Ответ

0 голосов
/ 23 ноября 2010

Вы не можете использовать горизонтальный виджет фильтра на ForeignKey (что вряд ли имело бы смысл, поскольку он может ссылаться только на один объект, в то время как основная цель виджета состоит в том, чтобы легко выбрать более одного объекта).Вы можете использовать его для своего администратора для Groups для поля admins или использовать встроенного администратора, чтобы легко создавать новые Users объекты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...