python - Django表單Form.save()問題
問題描述
def commentCreate(request, articleId): #POST’’’the problem is comment no relate mapping to one id of Artilce 單純的將CommentForm().save 是無法實現留言的,因為 創建一個留言需要對應一個文章,即要對應其文章所屬id;’’’content = request.POST.get(’comment’)CommentForm.content = contentcomment = CommentForm() #print (’表單綁定確認:’,comment.is_bound)’’’if not comment.is_valid(): return render(request, template,{’article’:articleId})’’’comment.save()messages.success(request,’留言已新增’)return redirect(’article:articleRead’,articleId=articleId)Console錯誤:django.db.utils.IntegrityError: 錯誤: 在字段 'article_id' 中空值違反了非空約束DETAIL: 失敗, 行包含(879, , null, 2017-05-22 11:05:06.862614+00, null).網頁錯誤: comment.save() ...▼ Local varsVariable ValuearticleId ’336’comment <CommentForm bound=False, valid=False, fields=(content)>content ’你好’request <WSGIRequest: POST ’/article/commentCreate/336/’>
如何將文章對應的articleId 的值放進CommentForm()?
問題解答
回答1:根據articleId獲取到Article: obj = Article.objects.get(id=articleId)然后 comment.article = obj # 具體看你在models里定義的article字段名
回答2:嗯,謝謝你,這個問題我在http://zmrenwu.com/post/14/ 里面已經找到解決方法了。不過這個論壇怎么把提問刪掉。
相關文章:
1. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?2. 關于docker下的nginx壓力測試3. nignx - docker內nginx 80端口被占用4. android - 百度地圖加載完成監聽5. dockerfile - [docker build image失敗- npm install]6. java - 阿里的開發手冊中為什么禁用map來作為查詢的接受類?7. 在windows下安裝docker Toolbox 啟動Docker Quickstart Terminal 失敗!8. docker網絡端口映射,沒有方便點的操作方法么?9. macos - mac下docker如何設置代理10. dockerfile - 我用docker build的時候出現下邊問題 麻煩幫我看一下
