我有一个广告模型和一个评论模型,由<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container">
<div class="row">
<div class="col-lg-6">
<p>asdf</p>
<p>asdf</p>
<p>asdf</p>
<p>asdf<br><br>asdf<br>asdf</p>
<p>asdf<br><br>asdf<br>asdf</p>
<p>asdf</p>
<p>asdf</p>
<p>asdf</p>
</div>
<div class="col-lg-6">
<p>asdf<br><br>asdf<br>asdf</p>
<p>asdf</p>
<p>asdf</p>
<p>asdf<br><br>asdf<br>asdf</p>
<p>asdf</p>
<p>asdf</p>
<p>asdf<br><br>asdf<br>asdf</p>
</div>
</div>
</div>
相关我试图获得他们的评论平均排名最高的问题。
例如:
AD1 - 平均排名为4。
AD2 - 平均排名为5。
在模板中,结果应首先显示AD2,然后显示AD1秒。
我在我的视图中使用它,但它没有正确显示。 DB是postgres。如果我更改Foreignkey('adfk')
它首先显示Ad1而Ad2显示第二,我的意思是至少考虑order_by。
('-rating') to ('rating')
答案 0 :(得分:0)
看起来您想要控制NULL和非NULL值的顺序。 PosgreSQL中有一个feature。但是Django不支持它。
但您可以执行以下操作:
questionlist = questionlist.annotate(rating=Avg('adfk__rank'))
questionlist = questionlist.extra(
select={'adfk_is_null': 'adfk_id IS NULL'})
questionlist = questionlist.order_by('adfk_is_null', '-rating')
P.S。您似乎在尝试汇总单个值,因此我建议您执行F
而不是Avg
。