Как использовать 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, а затем отфильтрует с помощью этого поля поиска.