我有一个QuerySet,我从许多过滤查询中合成。我想通过自定义SQL表达式来订购它。具体来说,这是我想要附加到查询的ORDER BY
部分:
...
ORDER BY
greatest(`ff_answer`.`update_ts`,
if(max(`ff_comment`.`create_ts`) is null,
'2001-01-01 00:00:01',
max(`ff_comment`.`create_ts`)
)
)
是否可以在Django中执行此操作?我并不担心便携性。理想情况下,我想做这样的事情:
my_qs = my_qs.order_by_custom_sql('greatest(`ff_answer`.`update_ts`,
if(max(`ff_comment`.`create_ts`) is null,
'2001-01-01 00:00:01',
max(`ff_comment`.`create_ts`)
)
)'
)
我对一次性黑客持开放态度。我唯一的要求就是我可以将结果传递给Django的分页器。