Django 的 FormWizard 中的空 ModelFormset
我正在使用 Django 的 FormWizard。它工作正常,但我无法正确显示任何空模型表单集。
我有一个名为 Domain
的模型。我正在创建这样的 ModelFormset:
DomainFormset = modelformset_factory(Domain)
我将其传递给 FormWizard,如下所示:
BuyNowWizardView.as_view([DomainFormset])
我没有收到任何错误,但当向导呈现页面时,我得到所有 Domain
对象的列表。我想要一份空表格。我怎样才能做到这一点?我读过,我可以向 ModelFormset 提供一个 queryset
参数,例如 Domain.objects.none()
但它似乎不起作用,因为我收到错误。
关于我哪里出错了有什么想法吗?
谢谢
I'm using Django's FormWizard. It works fine but I'm having trouble getting any empty model formset to display correctly.
I have a model called Domain
. I'm creating a ModelFormset like this:
DomainFormset = modelformset_factory(Domain)
I pass this to the FormWizard like this:
BuyNowWizardView.as_view([DomainFormset])
I don't get any errors but when the wizard renders the page, I get a list of all Domain
objects. I'd like to get an empty form. How I can do this? I've read that I can give a queryset
parameter to the ModelFormset like Domain.objects.none()
but it doesn't seem to work as I get errors.
Any ideas on where I'm going wrong?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Django 文档提供了两种方法更改查询集表单集。
第一种方法是在实例化表单集时将查询集作为参数传递。使用 formwizard,您可以通过传递
instance_dict
第二种方法是子类化
BaseModelFormSet
并覆盖__init__
方法使用空查询集。然后,您可以像以前一样将
DomainFormSet
传递给表单向导。The Django docs give two ways to change the queryset for a formset.
The first way is to pass the queryset as an argument when instantiating the formset. With the formwizard, you can do this by passing
instance_dict
The second approach is to subclass
BaseModelFormSet
and override the__init__
method to use the empty queryset.You then pass
DomainFormSet
to the form wizard as before.