Я читал эту статью: https://django -filter.readthedocs.io / en / master / guide / tips.html # using-initial-values-as-defaults
инапишите этот код:
class MyFilter(filters.FilterSet):
archive = filters.BooleanFilter(method='filter_archive')
def __init__(self, data=None, *args, **kwargs):
if data is not None:
data = data.copy()
if 'archive' not in self.base_filters.keys():
data['archive'] = 'false'
else:
data = QueryDict()
data['archive'] = 'false'
super(MyFilter, self).__init__(data, *args, **kwargs)
def filter_archive(self, qs, name, value):
# .. some code ..
Если запрос к URL-адресу без параметров запроса, фильтр по умолчанию не применяется, а если запрос к URL-адресу с архивным параметром в запросе, фильтр применяется. Почему этот код не работает?
Моя система:
- django 1.11.20
- django-filter 1.10
- djangorestframework-filters 0.11.1
- djangorestframework 3.6.4