编辑Django评论

时间:2012-09-24 11:22:43

标签: django django-comments django-contrib

我正在尝试编辑现有评论(即用新评论替换旧评论)。我的评论应用是django.contrib.comments。

new_comment = form.cleaned_data['comment']

#all of the comments for this particular review
comments = Comment.objects.for_model(Review).filter(object_pk=review_id)

print comments[0].comment
#'old comment'

comments[0].comment = new_comment

print comments[0].comment
#'old comment' is still printed

为什么评论没有使用新评论更新?

谢谢。

编辑: 致电comments[0].save() 然后print comments[0].comment仍打印'old comment'

2 个答案:

答案 0 :(得分:1)

您需要保存值

comments = comments[0]    
comments.comment = new_comment
comments.save()

答案 1 :(得分:1)

这与评论无关。只是每次切片时都会重新评估查询集。因此,您更改的第一个comments[0]与第二个不同 - 第二个从数据库中再次获取。这可行:

comments = Comment.objects.for_model(Review).filter(object_pk=review_id)
comment = comments[0]
comment.comment = new_comment

现在您可以根据需要保存或打印comment