我正在尝试编辑现有评论(即用新评论替换旧评论)。我的评论应用是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'
答案 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
。