Django Сериализатор моделей отношения manyToMany

У меня проблема с Django 4.1.2 (Python 3.8.9). У меня есть 2 сущности: Idea и IdeaTheme, которые имеют отношения manyToMany.

class Idea(models.Model):
    short_name = models.CharField(max_length=70)

    description = models.TextField(null=True,
                                   blank=True,
                                   default='')

    class State(models.IntegerChoices):
        CREATED = 0, _("Создано")
        TEAM_SEARCHING = 1, _("Поиск команды")
        IN_PROCESS = 2, _("Реализация")
        READY = 3, _("Готово")

    state = models.IntegerField(choices=State.choices,
                                default=State.CREATED)

    wanted_skills = models.ManyToManyField(to=UserSkill)


    themes = models.ManyToManyField(to=IdeaTheme,
                                    null=True,
                                    blank=True)
class IdeaTheme(models.Model):
    name = models.CharField(max_length=70,
                            verbose_name="Название")
    background_photo = models.ImageField(blank=True,
                                         null=True,
                                         verbose_name="Изображение для фронта")

Также у меня есть ModelSerializer

class IdeaSerializer(serializers.ModelSerializer):
    class Meta:
        model = Idea
        fields = '__all__'
        depth = 1
        extra_kwargs = {
            'state': {
                'read_only': True
            },
            'pk': {
                'read_only': True
            }
        }

При использовании CreateAPIView для создания идеи я столкнулся с проблемой, что я должен предоставить IdeaTheme pks. Но в модели есть опции Null и Blank, а я хочу создать идею без IdeaThemes.

Я пытался указать сериализатор IdeaTheme внутри IdeaSerializer вот так, но Django все равно требует не пустой массив IdeaTheme.

themes = IdeaThemeSerializer(many=True, required=False)

Помогите мне, пожалуйста, кто-нибудь, кто уже имеет опыт использования встроенных сериализаторов?

Вернуться на верх