Sie sollten also ein benutzerdefiniertes Serialisierungsfeld schreiben :
%Vor% Um Schreibvorgänge zu unterstützen, möchten Sie von WritableField
erben und auch from_native()
implementieren.
Ich konnte Toms Beispiel nicht zur Arbeit bringen und es schien, als würden die Werte nicht geändert. Aber es gab mir einen Ausgangspunkt und nach einigem Lesen fand ich eine Möglichkeit, das gewünschte Ergebnis zu erzielen:
[METHODE 1]
serializers.py
%Vor%JSON-Ausgabe:
%Vor%[METHODE 2]
Toms Erklärung und die vorher erwähnte Methode sind definitiv auf dem richtigen Weg mit der Einhaltung von Standards (da die Ergebnisse tatsächlich vom Typ integer sind).
Eine schnelle und schmutzige Lösung besteht jedoch darin, den -Formatparameter für das DateTimeField und stellen Sie den Wert in Sekunden ein.
Beachten Sie, dass dies auf Windows-Rechnern wahrscheinlich nicht funktioniert! Und kann zu einem ValueError: Ungültige Formatzeichenfolge
führenUm es auszuprobieren, fügen Sie einfach den Schlüsselwortparameter "format" in Ihr Serializer-Feld ein:
serializers.py
%Vor%JSON-Ausgabe:
%Vor%Zusätzlich können Sie Mikrosekunden einschließen:
%Vor%Wenn Sie die Funktionalität in Ihrem eigenen Interpreter testen möchten (um zu überprüfen, ob Ihr Betriebssystem den Parameter% s unterstützt), kopieren Sie einfach diese Zeilen:
%Vor%Ich denke, diese Methode ist etwas inkonsistent mit der OP-Frage, weil das Ergebnis nicht wirklich vom Typ integer ist, sondern eine String-Repräsentation eines Integers / float - und REST fügt dem Wert möglicherweise Zitate hinzu.
Tags und Links python django-rest-framework