Ho un modello:Django costringe a Unicode: stringa di necessità o di tampone, datetime.date trovato
class MyModel(models.Model):
id = models.IntegerField(primary_key=True)
recorded_on = models.DateField()
precipitation = models.FloatField(null=True, blank=True)
nel mio punto di vista ho una domanda in tal modo:
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)))
...
Ma ogni volta che provo e fare qualsiasi cosa con il set di query (ad esempio jSON discarica, mostra a modello), ottengo il seguente errore:
coercing to Unicode: need string or buffer, datetime.date found
so che ci deve essere un modo semplice per Dea Con questo, ma non l'ho ancora trovato.
Qualsiasi aiuto sarebbe molto apprezzato.
EDIT:
Un esempio di dati:
+----+-------------+---------------+
| id | recorded_on | precipitation |
+----+-------------+---------------+
| 24 | 1987-07-02 | 20.7 |
| 33 | 1987-07-11 | 0.4 |
+----+-------------+---------------+
Mostrare il traceback attuale. Quale linea sta causando l'errore? –
stai provando a concatenare 'recorded_on' con una stringa unicode usando l'operatore' + '? Se è così, il modo per farlo è "u" una stringa "+ str (obj.recorded_on)' – vartec
Il mio traceback è un po 'diverso dal post, in quanto l'ho semplificato - sospetto che si tratti di un problema generale. Ma la linea del mio codice di cui django si lamenta è la linea views.py che rende al modello. Link qui: http://dpaste.com/722851/. Ho anche provato la query nella shell e provando solo a stampare o iterare il queryset dà lo stesso errore. –