【发布时间】:2020-01-15 21:05:10
【问题描述】:
我想要 django-admin 仪表板中的链式过滤器,请帮助我实现它。 我有 3 个模型:- 董事会、年级和章节。 最初,当仪表板加载时,只会出现板过滤器,在选择板过滤器后,所有过滤器都应该出现,在选择等级后,该等级的所有章节都应该出现。
我尝试过RelatedDropdownFilter,但这很正常, 它不会修改下拉过滤器的视图部分,它会显示所有结果。
我的模型:-
class LmsBoard(models.Model):
name = models.CharField(max_length=240)
class LmsGrade(models.Model):
name = models.CharField(max_length=240)
board = models.ForeignKey(LmsBoard, models.DO_NOTHING)
class LmsSubject(models.Model):
name = models.CharField(max_length=240)
grade = models.ForeignKey(LmsGrade, models.DO_NOTHING)
board = models.ForeignKey(LmsBoard,models.DO_NOTHING)
class LmsChapter(models.Model):
name = models.CharField(max_length=240,default='None')
subject = models.ForeignKey(LmsSubject, models.DO_NOTHING)
我的 admin.py:-
@admin.register(MyModel)
class MyModel(admin.ModelAdmin):
list_display = (
'board', 'grade', 'chapter',)
list_filter = (
('board',RelatedDropdownFilter),
('grade', RelatedDropdownFilter),
('chapter', RelatedDropdownFilter),
我希望过滤器应该一个一个出现,并且应该包含最后一个选定项目的过滤器列表。
【问题讨论】:
标签: python django filter django-admin django-filter