Próbuję posortować obiekt ORM SQLAlchemy za pomocą pola, ale o określonej kolejności wartości (która nie jest ani rosnąco ani malejąco). Gdybym robił to zapytanie w MySQL, wyglądałoby to jak;SQLAlchemy ORDER BY FIELD()
SELECT letter FROM alphabet_table WHERE letter in ('g','a','c','k')
ORDER BY FIELDS(letter, 'g','a','c','k');
na wyjściu:
letter
------
g
a
c
k
Dla SQLAlchemy, Próbowałem rzeczy wzdłuż linii:
session.query (AlphabetTable) .filter (AlphabetTable.letter.in_ (("g", "a", "c", "k"))) order_by (AlphabetTable.letter.in _ (("g", "a", "c", "k")))
Które nie działa ... jakieś pomysły? Jest to mała jednorazowa lista stała i mogłem po prostu utworzyć tabelę z zamówieniem, a następnie dołączyć, ale wydaje się to trochę za dużo.
Czy ty wywołać procedurę przechowywaną mysql z sqlalchemy? – Louis