Обновление поля manytomanyfield снимает проверку с предыдущих объектов

Мой проект состоит из модели Book, которая хранит всевозможные книги разных жанров. Например, романтика, ужасы, научная фантастика и так далее. Затем у каждого пользователя есть список для чтения. Эта модель выглядит следующим образом:

class Readinglist(models.Model):
   user = models.OnetoOnefie(User, on_delete=models.CASCADE)
   books = models.ManyToManyField(Books)

Затем список чтения представляется каждому пользователю по категориям. Чтобы иметь возможность добавлять книги в каждую категорию, я создал уникальные представления (категорий не так много). Представление ужа выглядит следующим образом:

class UpdateReadingListHorror(UpdateView):
    model = ReadingList
    form_class = ReadingListHorrorForm

Форма ReadingListHorrorForm выглядит следующим образом:

class ReadingListHorrorForm(forms.ModelForm):
    book = forms.ModelMultipleChoiceField(queryset=Books.objects.filter(genre='Horror'),widget=forms.CheckboxSelectMultiple, label='')
    class Meta:
        model = ReadingList
        fields = ['books',]

Все остальные представления и формы для других жанров выглядят одинаково, только набор запросов в форме изменен, чтобы соответствовать им.

Проблема в том, что когда я обновляю категорию "Ужасы", книги в других категориях снимаются и больше не привязываются к списку чтения пользователя. Я не могу понять, почему это происходит. Как я могу предотвратить это?

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