Sqlalchemy - 为查询添加列

时间:2017-01-12 01:17:43

标签: python python-3.x flask sqlalchemy flask-sqlalchemy

例如我正在使用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()

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

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

但我不确定如何将它们捆绑在一起。

1 个答案:

答案 0 :(得分:6)

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

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