У меня есть книга и модель категории с множеством отношений через другую модель
class Category(models.Model):
name = models.CharField(max_length = 255)
class Book(models.Model):
name = models.CharField(max_length = 255)
categories = models.ManyToManyField(Category, through='book.BookCategory')
class BookCategory(models.Model):
business = models.ForeignKey(Business)
category = models.ForeignKey(Category)
user = models.ForeignKey(User)
created = models.DateField()
Тогда мои формы выглядят так:
class BookForm(forms.ModelForm):
name = forms.CharField(max_length = 255)
categories = forms.ModelMultipleChoiceField(
widget=forms.CheckboxSelectMultiple,
queryset = Category.objects.all()
)
class Meta:
model = Business
fields = ('name', 'categories')
Когда я пытаюсь сохранить экземпляр формы
book_form = BookForm (request.POST, instance = business)
book_form.save ()
Я получаю эту ошибку:
Невозможно установить значения для ManyToManyField, в котором указана промежуточная модель. Вместо этого используйте менеджер book.BookCategory.
Как бы я решил это?