有没有办法通过模型中的字段和另一个模型对象进行注释?
我有一个Restaurant
模型对象,我想要注释一个'权重'字段。我的标准是评论数量+访问次数。我想做这样的事情:
weighted = Restaurant.objects.annotate(
weight = Count('reviews') + num_visits??).order_by('weight')
num_visits部分发出错误,我不知道如何解决这个问题。 num_visits
是Restaurant
模型中的字段。任何帮助表示赞赏。
答案 0 :(得分:3)
我认为你需要这样的东西
qs = Restaurant.objects.annotate(weight=Count('reviews') + F('num_visits'))
weighted = qs.order_by('weight')
它正在使用F
expression。