Я пытаюсь использовать DateFilter django_filter для фильтрации по точной дате, но не могу заставить его вернуть какой-либо результат.
myapp / models.py
from django.db import models
class Event(models.Model):
start = models.DateField()
title = models.CharField(_'title'), max_length=256)
myapp / filters.py
from myapp.models import Event
import django_filters
class EventFilter(django_filters.FilterSet):
start = django_filters.DateFilter(
'start', label=_('With start date'),
widget=forms.DateInput() # I'm using a datepicker-like widget to enter date
)
class Meta:
model = Event
fields = ('start',)
Например: у меня есть событие с датой начала 14.01.2012. Когда я ввел это значение в фильтр даты, он ничего не вернул.
Мне не удалось найти более подробное описание DateFilter на сайте документации django_filter, ни в его справочник по фильтрам или Использование django-filter руководства < / а>. Или вообще где угодно. Есть идеи, что я делаю неправильно?
Я не ожидаю, что что-то не так с форматом даты из виджета datepicker, поскольку он используется в другой форме (для ввода данных) и работает нормально.
Дополнительная информация: я использую django-1.6 и любую последнюю версию django-filter
fields = ('start')
является строкой и должна бытьfields = ('start',)
- person Scott Woodall   schedule 13.02.2014fields = ( 'start', )
в коде. - person mathiass   schedule 13.02.2014'start'
в... = django_filters.DateFilter('start', ...
? - person mathiass   schedule 13.02.2014fields
ограничит поля, с которыми может работать фильтр. В вашем примереtitle
недоступен. - person Scott Woodall   schedule 13.02.2014start
, могу ли я использоватьstart_date
в качестве переменной фильтра? - person mathiass   schedule 14.02.2014'start'
вdjango_filters.Datefilter('start', ...)
и названии переменной фильтра. В первом случае'start'
- это значение аргументаname
для фильтра, относящееся к полю, к которому должен применяться фильтр. Если этот аргумент не указан (последний), по умолчанию django_filter принимает имя переменной в качестве имени поля. источник - person mathiass   schedule 14.02.2014