我试图弄清楚如何创建一个表单,该表单具有一个带有作者姓名的multichoicefield字段,正好有9个用于书名的空白文本字段,以及一个保存按钮。
目标是一次选择作者,并在数据库中添加9个书名。如果我在9个Book文本字段中使用9个作者下拉列表,则这相对简单。但是我该如何使用单个Author下拉列表来填充9个Book实例?
class Author(models.Model):
name = models.CharField(max_length=100)
def __str__(self):
return self.name
class Book(models.Model):
name = models.CharField(max_length=100)
authors = models.ManyToManyField(Author)
class BookForm(ModelForm):
class Meta:
model = Book
fields = ['name', 'authors']
def add_two_books(request):
BookFormSet = modelformset_factory(Book, form=BookForm, extra=9)
formset = BookFormSet(request.POST or None, queryset=Author.objects.none())