我正在研究Django管理员。我有3个型号
class University(models.Model)
...
class Institution(models.Model):
university = models.ForeignKey(University)
class Course(models.Model):
institution = models.ForeignKey(Institution)
在管理员中,我希望list filtred具有按大学筛选的功能,但仅显示具有已添加课程的机构的大学。我用
class CourseAdmin(admin.ModelAdmin):
list_filter = (
('institution__university',admin.RelatedOnlyFieldListFilter),
...
)
我收到错误
Cannot resolve keyword 'university' into the field. Choices are ...
我怎样才能实现这一目标?请帮忙
提前致谢
答案 0 :(得分:0)
您收到错误,因为您列出的项目与字段无关:university
,它们与institution
有关系。
如果你改变:
('institution__university',admin.RelatedOnlyFieldListFilter)
为:
('institution',admin.RelatedOnlyFieldListFilter)
或可能:
('university',admin.RelatedOnlyFieldListFilter)
它应该摆脱错误。但是,它不会特别针对您希望它做的事情。
答案 1 :(得分:0)
这在Django 1.10中已修复,请参阅此处https://github.com/django/django/commit/815f4d206dfea41bdff167283c2cac43a71524ac