我有一个 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 的分页器。