在django ORM中使用ORDER BY id数组

时间:2015-03-29 17:59:34

标签: mysql sql django

我如何在django ORM中执行以下操作:

select * from catalog order by field(id, list_of_ids)

到目前为止,我有:

ids = [1,5,3]
Catalog.objects.extra(order_by=[...?])

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

这是一个similar问题。

Catalog.objects.extra(
    select={'custom_order': 'FIELD(id, %s)' % ','.join(map(str,[1,5,3]))},
    order_by=['custom_order']
)