Поле сериализатора 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 не выполняется, есть идеи?