当我试图用数据保存表单时,出现此错误。形式:
class EntityCreateForm(forms.ModelForm):
def __init__(self, chain, *args, **kwargs):
super(EntityCreateForm, self).__init__(*args, **kwargs)
self.fields['chain'] = forms.ModelChoiceField(queryset=Chain.objects.filter(pk__in = chain))
class Meta:
model = Entity
fields = '__all__'
查看:
def entity_create(request):
if request.method == 'POST':
form = EntityCreateForm(request.POST)
if form.is_valid():
form.save()
return redirect(reverse('organisation:entity-list'))
else:
chain = request.session['chain']
form = EntityCreateForm(chain)
return render (request, 'organisation/entity_form.html', {'form':form})
怎么了?
答案 0 :(得分:1)
您已经向表单的__init__
函数添加了意外的参数。如果您不是以非标准方式使用此表单,那么Django将使用POST
数据填充此参数。要解决该错误,您必须覆盖用于添加额外数据的通用视图的一部分,或者以其他方式传递它。