【发布时间】:2020-11-05 04:08:59
【问题描述】:
我有一个包含多个嵌套内联表单集的表单。我正在验证 form_valid 中的内联表单集,这些错误会添加到有错误的表单中。
一旦 form_invalid 触发,它就会返回->
return self.render_to_response(
self.get_context_data(form=form,
note=note,
enrollment=enrollment,
mealCount=mealCount))
其中note、enrollment 和mealCount 都是内联表单集。
get_context_data,覆盖 form_valid 方法中保存的任何上下文。
如何将 form_valid 中的上下文传递到 get_context_data,以便可以使用正确的上下文(如果可用)或空白实例来实例化表单集(如果在 form_valid 中未创建上下文)?
def get_context_data(self, **kwargs):
context = super(RoomCreateView, self).get_context_data(**kwargs)
#post data was passed in form valid!
if self.request.POST:
context['enrollment'] = kwargs['enrollment']
context['note'] = kwargs['note']
context['mealCount'] = kwargs['mealCount']
return context
上面,kwargs['formsetname'] 给出了 'NoneType' 对象没有属性 '_state'。尽管存在对象,但没有 inlineformset 的实例。
发生错误时,这是堆栈中的对象:
【问题讨论】:
标签: django formset inline-formset