Django Serialisierung von DateTime-Objekten im Dictionary

7

Meine Django-Ansichtsmethode ist unten. Ich möchte place_data als Antwort von einem HTTPRequest übergeben (innerhalb eines getJSON-Aufrufs auf der Client-Seite, aber das ist für das Problem irrelevant).

Ich kann das Wörterbuch gut schreiben, bis ich die event_occurrences einbeziehe, die hinter den Kulissen arbeitet, um ein Wörterbuch von Ereignissen mit Start- und Endzeiten zu übergeben.

%Vor%

Hier ist der Code, der versucht, das Wörterbuch event_occurrences zu serialisieren:

%Vor%

Der Aufruf von event.upcoming_occurrences verweist auf die folgende Funktion:

%Vor%

Dies gibt mir den folgenden Fehler:

%Vor%

Ich weiß, dass ich json.dumps () nicht auf meinem event_occurrences -Objekt aufrufen kann, aber nicht herausfinden kann, wie ich diesen Serialisierungsfehler umgehen kann (und das ist das erste Mal, dass ich mit der Serialisierung arbeite Python). Könnte mir bitte jemand eine Anleitung geben, wie und wo die Serialisierung stattfinden soll?

Vielen Dank im Voraus!

UPDATE: Funktionsaufrufe hinzugefügt, um die Klarheit der Frage zu verbessern. Bitte siehe oben.

    
user546459 15.01.2011, 20:45
quelle

1 Antwort

29

Djangos Serialisierungsframework ist für QuerySets, nicht dicts. Wenn Sie ein Wörterbuch einfach in JSON ablegen möchten, verwenden Sie einfach json.dumps . Es kann leicht dazu gebracht werden, Objekte zu serialisieren, indem eine benutzerdefinierte Serialisierungsklasse übergeben wird - in Django ist eine enthalten, die sich bereits mit Datumsangaben beschäftigt:

%Vor%     
Daniel Roseman 15.01.2011, 21:34
quelle