如何使用sqlalchemy按列表排序结果?

2024-09-30 18:22:45 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个Inventory表,其中一个status列具有以下可能的值:voided、to-order、priority、received和ordered。在

查询数据库时,我希望按以下顺序排列状态列:

to_order, priority, received, ordered, voided.

如何使用sqlalchemy按列表顺序对结果排序?

我的出发点是:sort = desc(Inventory.status),我不知道如何定义自己的排序顺序。在


Tags: to列表sqlalchemy排序顺序状态statusorder
1条回答
网友
1楼 · 发布于 2024-09-30 18:22:45

您将不得不求助于ORDER BY+CASE组合。在

首先讨论纯SQL,看看this example。在

ORDER BY (
    CASE currency_code

    WHEN 'USD'
    THEN 1

    WHEN 'EUR'
    THEN 2

    ...

    END
) ASC

幸运的是,在SQLAlchemy的ORM中,结合order_by和{a2}可以做到这一点。在

相关问题 更多 >