Почему в сериализаторе сериализуется не обязательное поле?
Допустим, у меня есть сериализатор типа
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')