Поле сериализатора Django REST Framework обязательно = false

из документации:

read_only Установите для этого параметра значение True, чтобы гарантировать, что поле используется при сериализации представления, но не используется при обновлении экземпляра во время десериализации.

По умолчанию False

требуется Обычно возникает ошибка, если поле не указывается во время десериализации. Установите в false, если это поле не обязательно должно присутствовать во время десериализации.

По умолчанию установлено значение True.

Итак, у меня есть модель, в которой есть поле, которое нельзя обнулять, но я хочу, чтобы оно заполнялось в методе pre_save, поэтому я установил для поля значениеrequired=False в сериализаторе, но, похоже, не работает. Я все еще получаю ошибку при сохранении записи.

class FavoriteListSerializer(serializers.ModelSerializer):
    owner = serializers.IntegerField(required=False)
    class Meta:
        model = models.FavoriteList

Обновление: я добавилserializer_class = serializers.FavoriteListSerializer в ViewSet, теперь вместо полученияThis field is required, который я думаю, прошел проверку, но потом я получаюThis field cannot be null. Я проверил, что метод pre_save не выполняется, есть идеи?

Ответы на вопрос(4)

Ваш ответ на вопрос