我有一个state
我的表中的列具有以下可能的值:discharged
, in process
和None
.
我可以按以下顺序获取所有记录:in process
, discharged
接下来是 None
?
最佳答案
如果您已将该列声明为枚举类型(对于从一组固定的小字符串中提取值的情况,您应该这样做),然后使用 ORDER BY
该列将根据声明枚举值的顺序对结果进行排序。因此该列的数据类型应为 ENUM('in process', 'discharged', 'None')
;这将导致 ORDER BY
按您想要的顺序排序。具体来说,枚举中的每个值都分配有一个数字索引,并且在出于排序目的比较枚举值时使用该索引。 (声明枚举的确切方式将根据您使用的后端类型而有所不同。)
关于python - Sqlalchemy order_by 自定义排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17408276/