我正在使用Modelforms,并希望设置“feeder”字段的初始值。我得到以下类型错误:“基于10的int()的无效文字:'无'”可能是什么问题?
非常感谢大家
forms.朋友:
class CashFlowForm(forms.ModelForm):
class Meta:
model = models.CashFlow
fields = ['type', 'amount', 'description','date']
widgets = {'date': DatePicker()}
views.朋友:
def create_cashflow(request, fundslug):
funddetail = Fund.objects.get(slug=fundslug)
if request.method == 'POST':
cf = CashFlowForm(request.POST)
cf.feeder = funddetail.feeder
if cf.is_valid():
instance_cf = cf.save()
messages.success(request, 'Cash Flow successfully added!')
return redirect('funds:create_cashflow', fundslug = fundslug)
else:
cf = CashFlowForm()
return render(request, 'funds/create_cashflow.html', {'cf': cf})
我fink funddetail.feeder返回无或你可以尝试
cf.cleaned_data['feeder'] = funddetail.feeder
除非涉及到外键,否则模型无关紧要。对于类型错误,它主要与模型字段从表单中获取的值有关。
要在表单提交后分配值,请执行类似的操作
if request.method == 'POST':
cf = CashFlowForm(request.POST)
cf.save(commit=False)
cf.feeder = funddetail.feeder
cf.save()