Django.db.utils.IntegrityError: нулевое значение в колонке COLUMN_id нарушает ограничение not-null

Новичок здесь как на Stackoverflow, так и на django/drf.

Я получаю эту ошибку, я знаю, что могу решить ее, добавив нулевое поле в файл внешнего ключа календаря. Однако я не могу изменить это поле по какой-то причине, как я могу это исправить? Пожалуйста, дайте мне знать, если требуется другая информация.

Ошибка:

django.db.utils.IntegrityError: null value in column "instructor_id" violates not-null constraint

Модель:

class Calendar(models.Model):
    instructor = models.ForeignKey('Instructor', on_delete=models.PROTECT) 

Serializer:

class CalendarSerializer(serializers.ModelSerializer):

    class Meta:
        model = Calendar
        fields = '__all__'
        depth = 1

Traceback -

Вы не предоставили инструкцию сериализатора, поэтому я не могу о ней говорить. Для вашего CalendarView, когда вы создаете сериализатор модели для вашей Calendar модели, drf преобразует его в нечто вроде:

class CalenderSerializer(serializer.Serializer):
    instructor = serializer.PrimaryKeyRelatedField(queryset=Instructor.objects.all())
    other_fields...

Так что request.data необходимо включить instructor ключ со значением действительного первичного ключа для вашего инструктора в метод POST.

Вернуться на верх