Ich mag würde ein willkürliches Field
auf einem django-Rest-RahmenSerializer
, die auf dem nicht existiert definieren Django Model
.Definieren Sie ein beliebiges Feld auf einem django-Rest-Rahmen Serializer, die nicht auf dem Django Modell existiert
Mein Code sieht so aus:
class Person(models.Model):
pass
class PersonSerializer(serializers.ModelSerializer):
foo = serializers.CharField()
class Meta:
model = Person
fields = ('id', 'foo')
class PersonViewSet(viewsets.ModelViewSet):
queryset = Person.objects.all()
serializer_class = PersonSerializer
Dieser Code schlägt mit:
AttributeError: Got AttributeError when attempting to get a value for field `key` on serializer `PersonSerializer`.
The serializer field might be named incorrectly and not match any attribute or key on the `Person` instance.
Original exception text was: 'Person' object has no attribute 'key'.
Aber ... Wenn ich die Person
Klasse darauf einstellen:
class Person(models.Model):
def foo(self):
pass
Dann Ich bekomme den Fehler nicht, und ich kann die Daten POST.
Ich mag die Idee nicht, eine Dummy-Methode auf der Person
Klasse zu schaffen, um diesen Fehler zu erhalten. Gibt es eine django-rest-framework Möglichkeit, diesen Fehler zu beheben, den ich verpasst habe?