из документации:
read_only Установите для этого значение Истина, чтобы убедиться, что это поле используется при сериализации представления, но не используется при обновлении экземпляра во время десериализации.
По умолчанию False
требуется Обычно ошибка возникает, если поле не будет предоставлено во время десериализации. Установите значение false, если это поле не требуется присутствовать во время десериализации.
По умолчанию используется значение True.
Итак, у меня есть модель, у которой есть поле, которое не имеет значения NULL, но я хочу, чтобы оно было заполнено в методе 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 не выполняется, какие-либо идеи?