0
我在用戶提交表單後試圖修改一個域。我在網上找到了幾段代碼,但似乎沒有任何工作。以下是我在views.py中的嘗試。任何指導將不勝感激。在Django中設置表單域的值
def newlisting(request):
if request.method == "POST":
form = ListingsForm(request.POST)
if form.is_valid():
form.cleaned_data['condition'] = 1 #form.condition = 1 also fails
form.save()
return redirect('/listings/')
else:
form = ListingsForm()
return render(request, 'newlisting/newlisting.html', {'form':form})
完美。你能解釋一下'form = form.save(commit = False)'請問 – JShell
@JShell這個save()方法接受一個可選的commit關鍵字參數,它接受True或False。如果使用commit = False調用save(),那麼它將返回一個尚未保存到數據庫的對象。如果要在保存對象之前對對象執行自定義處理,這很有用。有關更多詳細信息,請查看 - > https://docs.djangoproject.com/en/1.8/topics/forms/modelforms/#the-save-method –
稍微誤導以調用form.save()的結果「 - 不是,它是對象。最好做'obj = form.save(commit = False); obj.condition = 1; obj.save()'。 –