Обновление поля 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',]
Все остальные представления и формы для других жанров выглядят одинаково, только набор запросов в форме изменен, чтобы соответствовать им.
Проблема в том, что когда я обновляю категорию "Ужасы", книги в других категориях снимаются и больше не привязываются к списку чтения пользователя. Я не могу понять, почему это происходит. Как я могу предотвратить это?