Django 在modelformset工厂中使用自定义表单?
我希望能够在modelformset_工厂中使用自定义表单。例如: models.pyDjango 在modelformset工厂中使用自定义表单?,django,django-models,django-forms,Django,Django Models,Django Forms,我希望能够在modelformset_工厂中使用自定义表单。例如: models.py class Author(models.Model): name = models.CharField() address = models.CharField() class AuthorForm(ModelForm): class Meta: model = Author views.py def test_render(request): myModel
class Author(models.Model):
name = models.CharField()
address = models.CharField()
class AuthorForm(ModelForm):
class Meta:
model = Author
views.py
def test_render(request):
myModelFormset = modelformset_factory(Author)
items = Author.objects.all()
formsetInstance = myModelFormset(queryset = items)
return render_to_response('template',locals())
上面的代码工作得很好,但请注意,我没有使用AuthorForm。问题是如何让modelformset_工厂使用AuthorForm(我计划稍后自定义),而不是创建默认的作者表单?我认为您应该能够像这样传递自定义模型表单:
myModelFormset = modelformset_factory(Author, form=AuthorForm)
谢谢我在发布问题后不久通过查看来源发现了这一点。我很惊讶我没有在文档中偶然发现这个选项。您是否有指向任何说明这是一个选项的文档的链接?我认为文档中提到这一点的最贴切的地方是说ModelFormset“只是”一个了解模型的表单集,因此您可以在ModelFormset_工厂中使用Formset_工厂的参数。formset_factory的文档说明您可以指定表单类。从modelformset_工厂到inlineformset_工厂似乎有类似的对应关系