gpt4 book ai didi

python - 在忽略值的同时排序查询集

转载 作者:太空宇宙 更新时间:2023-11-04 05:55:41 26 4
gpt4 key购买 nike

我有一个字段hotrank,它保存了热门音乐(1,2,3,4...10)
但如果音乐没有进入前 10 名,我将节省 0。
我还有另一个名为 releaseday 的字段,它保存了音乐的发布日期

现在我想查询:

 Music.objects.filter(releaseday__lte=today).order_by('hotrank','-releaseday') 

但是这里有一个问题,hotrank的order_by是从0开始的,但是0不是top music
如何让order_by从hotrank=1开始?有什么方法吗?

最佳答案

我认为您可以从查询结果中得到 hotrank=0 的结果,如下所示:

Music.objects.filter(releaseday__lte=today).exclude(hotrank=0).order_by(
'-hotrank','-releaseday')

如果你想在有序结果之后添加 hotrank=0 的结果,你可以这样做:

released_music = Music.objects.filter(releaseday__lte=today).order_by('-hotrank',
'-releaseday')
result = released_music.exclude(hotrank=0) | released_music.filter(hotrank=0)

关于python - 在忽略值的同时排序查询集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27941954/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com