【发布时间】:2020-07-15 12:10:36
【问题描述】:
我正在尝试在 Django 中验证选择字段之前对其进行更新。原因是有问题的选择字段值是我要更新的模型的 ID。
def fuelLogSystemOne(request):
entries = FuelLogSystemOneMod.objects.all().order_by('date')
products = productsMod.objects.all()
if request.method == 'POST':
form = forms.AddFuelLogOneForm(request.POST, request.FILES)
productid = form['product'].value()
product = productsMod.objects.get(id=productid)
product_id = request.POST.get('product')
form.fields['product'].choices = [(product.product_type, product.product_type)]
if form.is_valid():
bucketsRemoved = form['buckets_added'].value()
product.stock -= bucketsRemoved
product.save(['stock'])
instance = form.save(commit=False)
instance.staff = request.user
instance.save()
return redirect('home')
else:
form = forms.AddFuelLogOneForm()
return render(request,'systems/fuellogsystemone.html',{'form':form,'entry':entries,'products':products})
下面的部分是我在验证表单数据之前尝试更改表单数据的地方,因此它不会说“选择一个有效的选择”。 1 不是可用的选项之一'
product_id = request.POST.get('product')
form.fields['product'].choices = [(product.product_type, product.product_type)]
但是当我第一次提交表单时,它仍然说“选择一个有效的选择”。
Django 在什么时候验证表单,因为我在 is_valid() 方法之前更改了表单并且它仍然遇到这个错误?
【问题讨论】:
标签: django