Поле 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. Можете ли вы мне помочь?

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