python – Sqlalchemy – 向查询添加列

例如,我使用chinook数据库,我想将名称字段转换为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)

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

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

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

转载注明原文:python – Sqlalchemy – 向查询添加列 - 代码日志