请参阅以下Django 文档中的示例:
from django.db import models class Author(models.Model): name = models.CharField(max_length=100) class Book(models.Model): author = models.ForeignKey(Author) title = models.CharField(max_length=100)
如果您想创建一个允许您编辑属于特定作者的书籍的表单集,您可以这样做:
>>> from django.forms.models import inlineformset_factory >>> BookFormSet = inlineformset_factory(Author, Book) >>> author = Author.objects.get(name=u'Mike Royko') >>> formset = BookFormSet(instance=author)
这是作者与书籍的一对多关系,并提供了一种为单个作者编辑书籍的简单方法。
现在我想做相反的事情:一个用于编辑/创建作者的表单,其中包含要编辑/创建的内联书籍表单集。我怎么做?我真的更喜欢用 ModelForms 做到这一点的方法,而无需创建所涉及模型之一的实例。
例如:
添加作者表格
- 作者姓名:
[________]
- 图书:
- 标题:
[________]
- 标题:
[________]
- 标题:
[________]
- (添加更多)
- 标题:
[save]
注意:此时我需要这个没有任何作者实例。
我可能在这里错过了一些简单的东西,而且我在这里的文档上花了太多时间。欢迎提供一点帮助!