伊谢尔伦2017-04-18 10:10:40
需要看清楚,你的post物件是PostForm()而非Post(),你的PostForm表單處理物件有id初始值,但是你傳來的request.POST值有沒有id值呢,沒有就自然是None了,你這個post如果是Post()對象,那一定是有id值的
PHPz2017-04-18 10:10:40
有一個資訊不詳細沒給出,就是 PostForm
你是如何定義的。
如果你這麼定義PostForm
,通过调用PostForm(request.POST).save()
,透過呼叫PostForm(request.POST).save()
是可以得到你想要的結果的。
class PostForm(forms.ModelForm):
class Meta:
model = Post
不過你的PostForm絕對不是這麼定義的,因為post = form.save(request.user)
是错误的使用方法,ModelForm
的save
方法只有一个参数,就是commit = False
或者 commit=True
,表示是否將資料儲存到資料庫,預設True.
源碼請見連結