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 = content
comment = 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 vars
Variable Value
articleId
'336'
comment
<CommentForm bound=False, valid=False, fields=(content)>
content
'你好'
request
<WSGIRequest: POST '/article/commentCreate/336/'>
How to put the value of articleId corresponding to the article into CommentForm()?
怪我咯2017-05-24 11:36:50
Get Article based on articleId: obj = Article.objects.get(id=articleId)
Then comment.article = obj # Depends on the article field name you defined in models
phpcn_u15822017-05-24 11:36:50
Well, thank you, I have found a solution to this problem at http://zmrenwu.com/post/14/. But how can I delete the question from this forum?