Как сохранить и восстановить фильтры с django -filter - PullRequest
0 голосов
/ 08 марта 2020

как я могу сохранить и восстановить фильтры с помощью django_filters?

Я использую django_filters примерно так:

f = MyFilter(request.POST, queryset=MyModel.objects.all())

Теперь я бы хотел сохранить свой фильтр. Вот что я попробовал:

request.session['myfilter'] = f.form.cleaned_data

Я использую маринованный бэкэнд сессии, поэтому не ожидаю никаких проблем. Если после этого я попытаюсь восстановить фильтр, он не будет работать:

f = MyFilter(request.session['myfilter'], queryset=MyModel.objects.all())

Ошибка не отображается, но RangeFilter, похоже, игнорируется. Конечно, я мог бы просто сохранить request.POST, но мне это кажется очень уродливым, поскольку он содержит непроверенные данные. Кроме того, сохранение набора запросов (f.qs) не работает для меня, потому что мне нужно снова показать форму для редактирования.

Как это сделать правильно? Большое спасибо!

...