具有一个模型和inlineformset的Formwizard
|
我正在使用与一个模型匹配的Formwizard开发向导。
同样由于模型和其他模型之间的关系,我使用inlineformset_factory在模板中显示字段。
我为model属性创建了两个具有相同模型的表单。我刚刚更改了fields属性以区分我在向导中使用的两种形式。
为了将表单信息保存在向导中,我正在这样做:
def done(self, request, form_list):
instance = Sale()
for form in form_list:
for field, value in form.cleaned_data.iteritems():
setattr(instance, field, value)
instance.save()
这很好用,但是不能保存我的inlineformsets
因此,我在完成方法中添加了此内容:
picture_formset = ProductPictureFormset(request.POST, instance=instance)
if picture_formset.is_valid():
picture_formset.save()
但是当我这样做时,我在Django中遇到以下错误:
Exception Type: ValidationError
我注意到,内联表单集中包含的数据没有在步骤之间传递。
这就是我现在在向导中添加内联表单集的方式:
def parse_params(self, request, *args, **kwargs):
if self.step == 0:
self.extra_context.update({
\'picture_formset\': ProductPictureFormset(),
\'brand_attribute_formset\': BrandAttributeFormset()
})
但是似乎我必须找到一种方法来将以这些形式获取的数据传递到第二步。
有任何想法怎么做?
谢谢!
没有找到相关结果
已邀请:
1 个回复
吐兄