sqlalchemy在select中返回常量dict



我在MySql中使用sqlalchemy。我需要在select中返回一个dict。将dict值添加到提取的数据中不是一个选项。在sqlalchemy或MySQL中有什么方法可以在这里添加JSON 吗

case(
[
(
and_(
SomeTable.somefield.notin_(
constants.SLUGS),
OtherTable.otherfield == 1
),
[{
'label': 'Success',
'value': 'True'
}]
)
],
else_=False
).label('status')

转换为JSON应该适用于MySQL(但不适用于Mariadb(:

>>> import sqlalchemy as sa
>>>
>>> engine = sa.create_engine('mysql:///test', echo=True, future=True)
>>> with engine.connect() as conn:
...     res = conn.execute(sa.select(sa.case([(True, sa.cast([{'label': 'success', 'value': True}], sa.JSON))], else_=False).label('status')))
...     print(res)
[{"label": "success", "value": true}]

最新更新