我正在研究如何將資料從視圖傳遞到模型。我想通過 save 方法將 request.user.id 從視圖傳遞到模型并將其放在 created_by 欄位上。
這是我的 view.py 代碼:
def dashboardCategoryCreate(request):
form = CategoryForm()
if request.method == 'POST':
form = CategoryForm(request.POST, request.FILES)
form.save(request.user.id) # I Wanto To Pass This Value
return redirect('dashboard-category')
context = {'form': form}
return render(request, 'category/category_form.html', context)
我嘗試在models.py上捕獲此資料并使用userId值修改欄位created_by
def save(self, userId=None):
self.created_by = userId
super().save()
沒有錯誤,但值沒有通過。怎么做?或者也許有另一種方法可以做到這一點?
uj5u.com熱心網友回復:
傳遞commit=False到form.save(),這將回傳一個未保存的實體,然后在保存之前手動在此實體上設定用戶
form = CategoryForm(request.POST, request.FILES)
if form.is_valid():
category = form.save(commit=False)
category.created_by = request.user
category.save()
return redirect('dashboard-category')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/361122.html
標籤:姜戈
