如何像论坛一样对查询集进行排序?
我的意思是按一个日期字段排序,并且会有另一个用于排序的订单日期,例如在论坛中:主题在创建日期(或更新日期)排序,但如果任何旧主题得到新回复,那么它之前会显示其他科目。这正是我想要做的。
到目前为止我尝试过的:
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是另一个模型,通过外键连接。