我有一个应用程序,用户可以在其中提出问题&回答问题。我的问题是,在调用问题时我无法增加答案视图。详细了解一下,
这是模型,
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.我该怎么做?
谢谢!
答案 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)