Django добавить выпадающий фильтр для представления без класса / модели - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть метод, сопоставленный с URL в urls.py:

urlpatterns = [
    url(r'^mydir/statistics', statistics_view, name="Statistics")
]

Тогда в mydir/statistics/views.py У меня есть метод:

def statistics_view(request):
    list_mystuff = Mytable.objects.all() #Mytable is defined in models
    ....
    #lots of code here to assign "enriched_models" data structure
    enriched_models = {bunch of stuff}
    ......
    return render(request, 'statistics.html', {"statistics_enriched_models": enriched_models})

Все отлично работает и все отображается с использованием шаблона statistics.html.

Теперь мне нужно реализовать выпадающий фильтр по одному из полей Mytable. С классами мне нужно было бы создать класс для статистики в models.py, StatisticsAdmin в качестве прокси-модели в admin.py, зарегистрировать их оба и list_filter=["myfield",] установлено в StatisticsAdmin

Есть ли способ настроить раскрывающийся фильтр (с использованием list_filters или чего-либо еще) и сделать раскрывающийся список напрямую без создания классов, просто с помощью того, что у меня уже есть (метод, который заполняет шаблон)?

1 Ответ

0 голосов
/ 05 сентября 2018

UPDATE

В конце я использовал инструмент фильтра django: https://django -filter.readthedocs.io / en / master / index.html

Фильтр для использования в раскрывающемся списке: django_filters.ChoiceFilter. Работал нормально.

...