Почему в сериализаторе сериализуется не обязательное поле?

Допустим, у меня есть сериализатор типа

class DumbSerializer(serializers.Serializer):
    field_one = serializers.CharField(required=False, allow_null=True)

И я делаю что-то вроде

asdf = DumbSerializer(data={})
asdf.is_valid()
>>> True
asdf.data
>>> {'field_one': None}
asdf.validated_data
>>> OrderedDict()

Почему сериализация {} представлена как {'field_one': None}, а не {}, учитывая, что field_one не является обязательным полем? Внутреннее представление в python - это пустой dict, как я и ожидал

Пожалуйста, укажите ваши точные требования.

Все поля, указанные в сериализаторе, будут доступны в выводе JSON, если вам нужно любое другое значение по умолчанию, кроме None, вы можете добавить параметр по умолчанию в поле

field_one = serializers.CharField(required=False, allow_null=True, default='1')
Вернуться на верх