Я пытаюсь отфильтровать записи, показанные в раскрывающемся списке на странице администратора.

class GroupDepartmentMembership(models.Model):
    department = models.ForeignKey('department.Department', related_name="group_memberships")
    group = models.ForeignKey('group.Group', related_name="department_memberships", limit_choices_to={'pk__in': [m.group.pk for m in department.group_memberships.filter(lead__exact=True)]})
    lead = models.BooleanField(default=True)

Но затем я получаю следующее исключение в консоли без какой-либо другой трассировки стека.

Необработанное исключение в потоке, запущенном < main .NewThreadStartup экземпляр по адресу 0x28ff680>

Не могли бы вы помочь мне обнаружить ошибку? Спасибо!

0
sogeking 9 Июн 2013 в 20:52
И вы не получите ошибку, если удалите опцию limit_choices_to?
 – 
karthikr
9 Июн 2013 в 20:59
Да, похоже, мне пришлось отфильтровать результаты в ModelAdmin, как предложил @karthikr
 – 
sogeking
9 Июн 2013 в 23:50

1 ответ

Лучший ответ

В django admin вы можете ограничить выбор внешнего ключа, используя formfield_for_foreignkey

0
karthikr 9 Июн 2013 в 21:04