Ich verwende Python json.dumps(), um ein Array in eine Zeichenfolge zu konvertieren und dann in einem Django-Modell zu speichern. Ich versuche herauszufinden, wie ich Djangos REST-Framework dazu bringen kann, dieses Feld zu ignorieren und es "wie es ist" zu senden, ohne es ein zweites Mal zu serialisieren.Serialisieren einer Zeichenfolge ohne Änderungen in Django Rest Framework?
Zum Beispiel, wenn das Modell sieht wie folgt aus (Beide Felder sind CharFields):
name = "E: \"
path_with_ids = "[{" name ":" E: \ " "id": 525}]"
möchte ich den Rest Rahmen 'path_with_ids' zu ignorieren, wenn die Serialisierung so die JSON Ausgabe wie folgt aussehen:
{ "name": "E: \", "path_with_ids": [{ "name": "E: \", "id": 525}]}
und nicht so:
{ "name": "E: \", "path_with_ids": "[{\" Name \ ": \" E: \\\ "\ "id \": 525}]"}
ich habe versucht, eine andere Serializer Klasse zu machen, die die Eingabe wird es spucken ohne Erfolg ‚as is‘:
Serializers.py:
class PathWithIds(serializers.CharField):
def to_representation(self, value):
return value.path_with_ids
class FolderSerializer(serializers.ModelSerializer):
field_to_ignore = PathWithIds(source='path_with_ids')
class Meta:
model = Folder
fields = ['id', 'field_to_ignore']
Bitte um Hilfe!
Das ist völlig vernünftig, da Sie ein Feld zu einem nativen Typ Umwandlung . Was Sie erhoffen, umgeht den Serialisierungsprozess vollständig und wäre nur ein Blind-Append, der sehr leicht versagen könnte. – Soviut