Ich habe einen Serializer wie folgt aus:Django Ruhe Rahmen Wie aktualisieren SerializerMethodField
class PersonSerializer(serializers.ModelSerializer):
gender = serializers.SerializerMethodField()
bio = BioSerializer()
class Meta:
model = Person
fields = UserSerializer.Meta.fields + ('gender', 'bio',)
def get_gender(self, obj):
return obj.get_gender_display()
ich verwendet, um dieses „männlich“ und „weiblich“ anzuzeigen (insted von „M“ von „F“) während der Durchführung GET anfordern.
Das funktioniert gut.
Aber jetzt schreibe ich eine Patch-Methode für das Modell und SerializerMethodField()
hat read_only=True
. So bekomme ich keinen Wert für Geschlecht Feld in serializer.validated_data()
übergeben. Wie überwinde ich dieses Problem?
Ich tat, wie Sie sagten, aber es funktioniert nicht. Serializer erkennt in diesem Fall auch keine Taste mit dem Namen "Gender". btw serializers.Serializer in der Klasse params wie gesagt Serailizer haben kein Feld wie SerializerField – Kishan
Sorry, die Basisklasse war falsch (ich nehme an, das ist, was Sie mit "Klasse params"). Es sollte 'serializers.Field' anstelle von' serializer.SerializerField' sein. –
ja korrekt Danke für den Hilfe-Mann.! – Kishan