私はちょっとした問題に直面しています。Django Rest Framework私はそれに入れ子オブジェクトを持つオブジェクトを投稿しようとしています。Django Rest Framework POSTネストされたオブジェクト
def create(self, request):
serializer = self.serializer_class(data=request.data)
serializer.is_valid(raise_exception=True)
self.perform_create(serializer)
return Response(serializer.validated_data, status=status.HTTP_201_CREATED)
そして、ここではポストマンからの応答である:
views.py
から
class ClassSerializer(serializers.ModelSerializer):
class Meta:
model = Class
fields = ('number', 'letter')
class SubjectSerializer(serializers.ModelSerializer):
class Meta:
model = Subject
fields = ('title',)
class ExamSerializer(serializers.ModelSerializer):
subject = SubjectSerializer()
clazz = ClassSerializer()
class Meta:
model = Exam
fields = ('id', 'subject', 'clazz', 'topic', 'date', 'details')
depth = 1
def create(self, validated_data):
return Exam.objects.create(**validated_data)
def update(self, instance, validated_data):
instance.__dict__.update(**validated_data)
instance.save()
return instance
そしてcreate()
:ここ
私はいくつかを読みましたこの問題についてはここに投稿しますが、私はそれに固執するまで。私はいくつかの方法で修正しようとしましたが、それでもまだ"This field is required."
を返しています。
一般的な問題ですが、私の答えを見て、あなたはそれが便利だとわかります。 http://stackoverflow.com/questions/41308406/django-rest-framework-add-object-to-request-data-and-then-call-serializer-is-va –