Сериализация класса данных с пустой строкой в Django

У меня есть класс данных в Django, использующий фреймворк rest, который имеет строковое поле и сериализатор для него.

class Foo:
    string_field:str


class FooSerializer(Dataclass):
    class Meta:
        dataclass = Foo

Моя проблема в том, что если поле string_field пустое, то сериализатор не может быть проверен. JSON, с которым я обращаюсь:

{'string_field': ''}

И ошибка:

{'string_field': [ErrorDetail(string='This field may not be blank.', code='blank')]}

Объявление полей в сериализаторе и не использование класса данных - это решение, но я бы предпочел использовать способ с классом данных, если это возможно. В своем проекте я использую Django 3.0.5, Python 3.8 и 3.11 rest framework.

Вам необходимо установить allow_blank=True в serializers.py

from rest_framework import serializers

class CommentSerializer(serializers.Serializer):
   name = CharField(allow_blank=True, max_length=100)
Вернуться на верх