django admin filter_list от manytomany подано
models.py
class Author(models.Model):
nickname = models.CharField(max_length=100)
class Book(models.Model):
title = models.CharField(max_length=255)
authors = models.ManyToManyField(Author)
admin.py
@admin.register(Book)
class BookAdmin(admin.ModelAdmin):
list_filter = (???,)
Как отфильтровать книги конкретного автора через админку.
1 ответ
Вы можете просматривать "сквозные" отношения с двойным подчеркиванием, так что вы можете фильтровать по
nickname
принадлежащий
author
s этой книги с:
@admin.register(Book)
class BookAdmin(admin.ModelAdmin):
list_filter = ('authors__nickname',)
или как указано в документации:
(…)
Имена полей в
list_filter
также может охватывать отношения, используя__
поиск , (…)