Django REST Framework POST вложенные объекты

Сейчас я сталкиваюсь с небольшой проблемой с Django Rest Framework . Я пытаюсь опубликовать объект с вложенными объектами.

Вот мои serializers.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() из views.py:

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)

А вот и ответ от Почтальон : Postman response

Я читал здесь несколько сообщений об этой проблеме, но я все еще застрял с ней. Я пытался исправить это несколькими способами, но он все еще возвращается "This field is required.".

20
задан wencakisa 8 July 2019 в 13:40
поделиться