Привет, у меня есть модель, содержащая:
class MyModel(models.Model):
id = models.IntegerField(primary_key=True)
recorded_on = models.DateField()
precipitation = models.FloatField(null=True, blank=True)
У меня есть форма, которая выглядит следующим образом:
class QueryForm(forms.Form):
precipitation = forms.BooleanField(label=ugettext_lazy('Precipitation'),)
startdate = forms.DateField(widget = widgets.AdminDateWidget, label=ugettext_lazy('Start Date'),)
enddate = forms.DateField(widget = widgets.AdminDateWidget, label=ugettext_lazy('End Date'),)
В моем views.py у меня есть одно представление для формы и отдельное представление для сбора данных через GET. Это очень упрощенная версия второго view.py:
def results(request):
if 'q' in request.GET:
...
startdate = request.GET.get('startdate', None)
enddate = request.GET.get('enddate', None)
data = MyModel.objects.filter(recorded_on__range = (startdate, enddate))
...
Мои переменные даты в GET имеют формат «ГГГГ-ММ-ДД».
Проблема в том, что запрос вызывает эту ошибку:
coercing to Unicode: need string or buffer, datetime.date found
Как лучше всего обращаться с моим форматом даты, чтобы сделать запрос?