小编sam*_*sam的帖子

django 按来自不同领域的最新日期对查询集进行排序

如何像论坛一样对查询集进行排序?

我的意思是按一个日期字段排序,并且会有另一个用于排序的订单日期,例如在论坛中:主题在创建日期(或更新日期)排序,但如果任何旧主题得到新回复,那么它之前会显示其他科目。这正是我想要做的。

到目前为止我尝试过的:

    subjects = Subjects.objects.filter(active=True).order_by('-sticky', '-updated_date', 'reply__updated_date')
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,结果会随着回复计数而重复。

我也试过:

    subjects = Subjects.objects.filter(active=True).order_by('-sticky', '-updated_date').order_by('reply__updated_date')
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,第二个 order_by会覆盖第一个。

有什么指导方针可以遵循吗?

顺便说一句,我很确定你明白了,但要清楚的Subject是,是一个模型,Reply是另一个模型,通过外键连接。

python django

2
推荐指数
1
解决办法
1261
查看次数

标签 统计

django ×1

python ×1