這是我的代碼:在 forms.py 中
class ProjectForm(forms.ModelForm):
class Meta:
model = Project
fields = ("title","business_partner","transaction")
widgets = {
'transaction': forms.NumberInput()
}
在views.py中
def uploadpdf(request,pk):
project_form = ProjectForm(request.POST)
if project_form.is_valid() and request.FILES:
project_form.instance.user = request.user
project = Project.objects.get(id=pk)
project.title = project_form['title']
project.business_partner = project_form['business_partner']
project.transaction = project_form['transaction']
project.save()
project = Project.objects.get(id=pk)
file_path = None
for file in request.FILES:
file = request.FILES[file]
pdf_file = PDFFile(file=file, filename=file.name)
pdf_file.project = project
pdf_file.save()
if PRODUCTION:
file_path = HOST_NAME '/' str(pdf_file.file)
else:
file_path = HOST_NAME '/media/' str(pdf_file.file)
resp = HttpResponse(f'{{"message": "Uploaded successfully...", "id": "{project.id}","url":"{file_path}","title": "{project.title}"}}')
resp.status_code = 200
resp.content_type = "application/json"
return resp
else:
return reverse("dashboard:homepage")
當我運行它時,它說“TypeError: Field ‘transaction’ expected a number but got <django.forms.boundfield.BoundField object at 0x000001A803935250>”。
期待聽到一個好的解決方案。
uj5u.com熱心網友回復:
您想使用表單的cleaned_data 屬性而不是欄位本身,如下所示:
project.transaction = project_form.cleaned_data['transaction']
編輯:請注意,您應該對其他欄位執行相同的操作。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/370663.html
標籤:姜戈
下一篇:計算分頁內的記錄,django
