И еще вопрос, как перевести (интернационализировать) название полей в форме и название сортировки по убыванию\возрастанию?
тыц
class User_TestFilter(django_filters.FilterSet):
test_time = django_filters.DateTimeFilter(label=u'Дата&Время')
...
или
class User_TestFilter(django_filters.FilterSet):
...
def __init__(self, *args, **kwargs):
super(User_TestFilter, self).__init__(*args, **kwargs)
self.fields['test_time'].label = u'Дата&Время'
однако как применить стили
тыц
можно ли сделать одно поле под фильтрацию по всем данным?
можно попробовать написать свой фильтр вроде такого:
class MultiFieldSearchFilter(Filter):
field_class = forms.CharField
def filter(self, qs, value):
lookup = self.lookup_type or 'exact'
if value in ([], (), {}, None, ''):
return qs
if isinstance(self.name, (list, tuple)):
q = Q()
for n in self.name:
q |= Q(**{u'{}__{}'.format(n, lookup): value})
qs = qs.filter(q)
else:
qs = qs.filter(**{u'{}__{}'.format(self.name, lookup): value})
if self.distinct:
qs = qs.distinct()
return qs
class User_TestFilter(django_filters.FilterSet):
search = MultiFieldSearchFilter(
name=['test_time', 'test_result'],
lookup_type='icontains', label=u'Поиск по нескольким полям')
...