Mam model:Django Użycie przymusu Unicode: string potrzeba lub bufor, datetime.date znaleźć
class MyModel(models.Model):
id = models.IntegerField(primary_key=True)
recorded_on = models.DateField()
precipitation = models.FloatField(null=True, blank=True)
w moich poglądów Mam kwerendy tak:
import datetime
def my_view(request):
...
format = '%Y-%m-%d'
sd = datetime.datetime.strptime(startdate, format)
ed = datetime.datetime.strptime(enddate, format)
queryset = MyModel.objects.filter((recorded_on__range = (sd, ed)))
...
Ale gdy próbuję i zrobić coś z queryset (np json, zrzut ekranu w szablonie), pojawia się następujący błąd:
coercing to Unicode: need string or buffer, datetime.date found
wiem, że musi być łatwym sposobem DEA Ja z tym, ale jeszcze go nie znalazłem.
Każda pomoc będzie mile widziana.
EDIT:
Przykładem danych:
+----+-------------+---------------+
| id | recorded_on | precipitation |
+----+-------------+---------------+
| 24 | 1987-07-02 | 20.7 |
| 33 | 1987-07-11 | 0.4 |
+----+-------------+---------------+
Proszę podać rzeczywiste informacje zwrotne. Która linia powoduje błąd? –
Czy zmieniasz jakąkolwiek próbę połączenia 'zapisanego' z łańcuchem unicode używając operatora' + '? Jeśli tak, sposobem na zrobienie tego jest "u" ciąg "+ str (obj.recorded_on)" – vartec
Mój traceback różni się nieco od postu, jak to uprościłem - podejrzewam, że jest to ogólny problem. Ale linia mojego kodu, na którą django się skarży, to linia views.py, która renderuje do szablonu. Link tutaj: http://dpaste.com/722851/ .Spróbowałem również kwerendy w powłoce i po prostu próbuje wydrukować lub iterować kwerendy daje ten sam błąd. –