Я хочу использовать фильтр администратора django на странице списка. модели у меня есть что-то вроде этого:django admin filter tweaking
class Location(model):
name = CharField()
class Inquiry(Model):
name = CharFiled()
location = ManyToManyField(Location)
Теперь я хочу, чтобы фильтровать запросы, чтобы отобразить только те, которые содержат отношение к конкретному объекту Location. Если я использую
class InqAdmin(ModelAdmin):
list_filter = ['location', ]
admin.site.register(Inquiry, InqAdmin)
страница админ показывает мне список всех Locations
и позволяет фильтровать.
Что бы я хотел получить, это получить список только тех мест, где у них есть Inquiries
по отношению к ним (так что я никогда не получаю пустой результат списка после фильтрации).
Как это можно сделать?
Это раздел, в котором говорится, что вы никогда не отфильтровываете результаты в менеджерах по умолчанию: https://docs.djangoproject.com/en/dev/topics/db/managers/#do-not- filter-away-any-results-in-this-type-of-manager-subclass. Для этого страницы администратора используют их, поэтому вы получаете всевозможные странные ошибки, так как формы добавления/редактирования не знают о других объектов (в этом случае местоположения). – bdeniker