Как использовать Django AutocompleteFilter через 2 отношения?
у меня есть иерархия моделей Django
class Workspace(Model):
title = CharField()
class User(Model):
workspace = ForeignKey(to=Workspace)
class Chat(Model):
user = ForeignKey(to=User)
В админке Django на странице чатов я хочу отфильтровать их по рабочему пространству, но рабочих пространств много, поэтому мне нужен select2
На странице Пользователи я использую AutocompleteFilter (пакет django-admin-autocomplete-filter)
Но он не работает на странице Чаты.
Вопросы:
Можно ли в этом случае использовать AutocompleteFilter? Как? Есть ли другие решения для создания выпадающих фильтров Autocomplete?
Используйте AutocompleteFilterFactory
[pypi.org]:
WorkplaceFilter = AutocompleteFilterFactory( 'Workspace', 'user__workspace__title' ) @admin.register(Chat) class ChatAdmin(models.ModelAdmin): list_filter = [WorkplaceFilter]
Он будет следовать за отношениями и, таким образом, перечислит title
из Workplace
, а затем отфильтрует с помощью этого поля поиска.