Django:更新整数字段

时间:2018-04-16 16:08:26

标签: python django

我有一个应用程序,用户可以在其中提出问题&回答问题。我的问题是,在调用问题时我无法增加答案视图。详细了解一下,

这是模型,

class Question(models.Model):
    . . .

class Answer(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    answer_views = models.IntegerField(default=1)
    . . .

在我看来,

def question_detail(request, id):
    my_question = Question.objects.get(id=id)

现在在html文件中,我可以轻松打印问题&所有相关的答案都使用my_question.answer_set.all

因此,当一个特定问题(my_question)被调用时,我希望将所有相关答案的观看次数增加1.我该怎么做?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您不需要收听任何signals,则可以使用F()expressions直接更新所有相关答案:

from django.db.models import F

def question_detail(request, id):
    my_question = Question.objects.get(id=id)
    my_question.answer_set.update(answer_views=F('answer_views') + 1)