Ich habe ein Modell:Django Nötigung zu Unicode: Notwendigkeit String oder Puffer, datetime.date
class MyModel(models.Model):
id = models.IntegerField(primary_key=True)
recorded_on = models.DateField()
precipitation = models.FloatField(null=True, blank=True)
in meinen Ansichten, die ich so eine Frage haben:
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)))
...
Aber wenn ich versuche, und tun etwas mit dem queryset (zB json dump, Anzeige in Vorlage), erhalte ich folgende Fehlermeldung:
coercing to Unicode: need string or buffer, datetime.date found
ich es wissen muss eine einfache Möglichkeit, dea sein Ich damit, aber ich habe es noch nicht gefunden.
Jede Hilfe würde sehr geschätzt werden.
EDIT:
Ein Beispiel für Daten:
+----+-------------+---------------+
| id | recorded_on | precipitation |
+----+-------------+---------------+
| 24 | 1987-07-02 | 20.7 |
| 33 | 1987-07-11 | 0.4 |
+----+-------------+---------------+
Bitte zeigen Sie die tatsächliche Traceback. Welche Zeile verursacht den Fehler? –
sind Sie bei jeder Änderung versuchen, 'recorded_on' mit Unicode-String mit' + 'Operator zu verketten? Wenn ja, ist die Art und Weise es zu tun "u" eine Zeichenkette "+ str (obj.recorded_on)" – vartec
Meine Rückverfolgung unterscheidet sich etwas vom Post, wie ich es vereinfacht habe - ich vermute, dass dies ein allgemeines Problem ist. Aber die Zeile meines Codes, über die sich django beschwert, ist die Zeile views.py, die zu einer Vorlage rendert. Link hier: http://dpaste.com/722851/. Ich versuchte auch die Abfrage in der Shell und nur versuchen, das Abfrage-Set zu drucken oder zu iterieren gibt den gleichen Fehler. –