Поле M2M не обновляется
Я пытался обновить поле M2M, но оно просто не обновляется ни из панели администратора, ни в сериализаторе! У нас есть модель "Книга", которая имеет поле "Категория", которое является M2M для модели BookCategory
это моя модель:
class Book(models.Model):
#...
category = models.ManyToManyField('BookCategory', related_name='bookCategory')
def __str__(self):
return self.name
class BookCategory(models.Model):
name = models.CharField(max_length=100)
parent = models.ForeignKey('BookCategory', on_delete=models.PROTECT, null=True, blank=True)
description = models.TextField()
def __str__(self):
return self.name
и это мое мнение:
class BookChange(RetrieveUpdateDestroyAPIView):
serializer_class = BookSerializer
lookup_field = 'pk'
def get_queryset(self):
return Book.objects.all()
и Сериализатор модели:
class BookSerializer(serializers.ModelSerializer):
class Meta:
model = Book
fields = '__all__'
Забавно то, что когда я удаляю текущую категорию, она работает, но не добавляет новые. Я также пробовал переопределить serializer.save() в def update. Можете ли вы мне помочь?