Maison  >  Questions et réponses  >  le corps du texte

c++ - Problème de formulaire 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 = 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/'>

Comment mettre la valeur de l'articleId correspondant à l'article dans CommentForm() ?

伊谢尔伦伊谢尔伦2705 Il y a quelques jours891

répondre à tous(2)je répondrai

  • 怪我咯

    怪我咯2017-05-24 11:36:50

    Obtenez l'article en fonction de l'articleId : obj = Article.objects.get(id=articleId)
    Puis comment.article = obj # Dépend du nom du champ d'article que vous avez défini dans les modèles

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-05-24 11:36:50

    Eh bien, merci, j'ai trouvé une solution à ce problème sur http://zmrenwu.com/post/14/. Mais comment puis-je supprimer la question de ce forum ?

    répondre
    0
  • Annulerrépondre