【问题标题】:admin list_filter values depending on other filtersadmin list_filter 值取决于其他过滤器
【发布时间】:2012-05-15 08:41:27
【问题描述】:

让我们看一下这个例子:

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' ...)
    ...

对于管理员,让我们像这样配置ChapterAdmin

class ChapterAdmin(admin.ModelAdmin):
    list_filter = ('book__author', 'book',)
    ...

这通过相关的AuthorBook 提供了很好的过滤器。

问题来了:

当用户点击book__author 过滤器中的Author 时,主表中的结果会被相应地过滤。好的。但是book 过滤器仍然列出所有可用的Books,而不管book_author 过滤器。 Is there a way to make the book filter dependent of book__author filter such that when an Author is selected, only Books by that are related to the Author are listed in filter options?

【问题讨论】:

    标签: django django-admin django-admin-filters


    【解决方案1】:

    看起来您可以使用SimpleListFilter 来完成这项工作,因为您在lookups 方法中有请求,您可以判断选择了哪个作者并仅提供他的书籍列表,文档中的更多信息:@ 987654321@

    【讨论】:

      猜你喜欢
      • 2018-04-20
      • 2012-10-18
      • 2012-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多