Django 管理员列表\u筛选器值取决于其他筛选器
让我们看一看这个例子:Django 管理员列表\u筛选器值取决于其他筛选器,django,django-admin,django-admin-filters,Django,Django Admin,Django Admin Filters,让我们看一看这个例子: class Author(models.Model): ... class Book(models.Model): author = models.ForeignKey(Author, related_name='books'...) ... class Chapter(models.Model): book = models.ForeignKey(Book, related_name='chapters' ...) .
class Author(models.Model):
...
class Book(models.Model):
author = models.ForeignKey(Author, related_name='books'...)
...
class Chapter(models.Model):
book = models.ForeignKey(Book, related_name='chapters' ...)
...
对于管理员,让我们这样配置chapteramin
:
class ChapterAdmin(admin.ModelAdmin):
list_filter = ('book__author', 'book',)
...
这提供了相关作者
和书籍
的良好过滤器
问题是:
当用户单击
书籍作者
过滤器中的作者
时,主表中的结果将相应地过滤。好。但是书籍
过滤器仍然列出所有可用的书籍
,而不考虑书籍作者
过滤器。有没有办法使书籍
过滤器依赖于书籍作者
过滤器,这样当选择作者
时,过滤器选项中只列出与作者
相关的书籍
?看起来您可以使用SimpleListFilter
来完成这项工作,由于您在查找
方法中有请求,因此您可以判断选择了哪位作者,并仅提供其书籍的列表,文档中的更多信息: