如何用ORM自定义排序

ORM连接的数据库不同,方法也不同

postgresql:

a.extra(select={"new_order":"position(status in '2,3,4,1')"}).order_by("new_order")

a是queryset对象,new_order 是新的自定义的字段名,status是排序的字段,“2,3,4,1”是你自定义的顺序,也可以是字符串类型

mysql:

a.extra(select={"new_order":'field(status,"2,3,4,1")'}).order_by("new_order")

规则类似,但有所区别,这是我自己探索出来的,希望对大家有所帮助

 

转载于:https://www.cnblogs.com/zhaoweihang/p/11498400.html

你可能感兴趣的:(如何用ORM自定义排序)