我试图按字段对 SQLAlchemy ORM 对象进行排序,但使用特定的值顺序(既不是升序也不是降序)。如果我在 MySQL 上执行此查询,它看起来像;
SELECT letter FROM alphabet_table WHERE letter in ('g','a','c','k')
ORDER BY FIELDS( letter, 'g','a','c','k');
对于输出:
letter
------
g
a
c
k
对于 SQLAlchemy,我一直在尝试以下方法:
session.query(AlphabetTable).filter(AlphabetTable.letter.in_(('g','a','c','k'))).order_by(AlphabetTable.letter.in_(('g','a') ','c','k')))
哪个不起作用...有什么想法吗?这是一个小的一次性常量列表,我可以按照顺序创建一个表,然后加入,但这似乎有点太多了。