1

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

4

0 回答 0