Sqlalchemy - 向查询添加列

问题描述 投票:0回答:2

例如,我正在使用 chinook 数据库,我想将 Name 字段转换为 slug。 Slugify 是 Awesome-slugify 的一个功能。

SQL 中类似的东西

Select *, slugify(Name) as name_slug
from Artist

在 sqlalchemy 中我尝试过:

artist = Artist.query.add_columns(name_slug=slugify(Artist.Name)).all()

artist = Artist.query.add_columns(name_slug=[slugify(a.Name) for a in Artist.Name]).all()

我可以通过在终端中执行以下操作来生成名称列表:

art = models.Artist.query.all()
name_slug = [slugify(a.Name) for a in art]
print(name_slug)

但我不确定如何将它们联系在一起。

python python-3.x flask sqlalchemy flask-sqlalchemy
2个回答
20
投票

我没有 slugify 可供测试,但这可能就是您正在寻找的:

artist = Artist.query.add_columns(slugify(Artist.Name).label("name_slug")).all()

0
投票

与 select 语句类似: stmt = sa.select(艺术家.年龄)

new_stmt = stmt.add_columns(艺术家.姓名)

© www.soinside.com 2019 - 2024. All rights reserved.