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)
Помогите мне, пожалуйста, кто-нибудь, кто уже имеет опыт использования встроенных сериализаторов?