gpt4 book ai didi

python - 如何在 sqlalchemy 查询中选择文字值?

转载 作者:IT老高 更新时间:2023-10-28 22:07:17 24 4
gpt4 key购买 nike

我有一个如下所示的查询:

query = session.query(Item) \
.filter(Item.company_id == company_id) \
.order_by(Item.id)

这是一个非常基本的查询。除了提取 Item 的值之外,我还想在组合中附加一个附加值,并将其返回给我。在原始 SQL 中,我会这样做:

SELECT *, 0 as subscribed
FROM items
WHERE company_id = 34
ORDER BY id

如何通过 sqlalchemy 手动添加该值?

最佳答案

您需要使用 literal_column ,看起来有点像这样:

sqlalchemy.orm.Query(Item, sqlalchemy.sql.expression.literal_column("0"))

注意 text 参数被插入到查询中而不进行任何转换;如果您从应用程序外部接受 text 参数的值,这可能会使您面临 SQL 注入(inject)漏洞。如果这是你需要的东西,你会想要使用 bindparam , 使用起来也很简单;但你必须发明一个名字:

sqlalchemy.orm.Query(Item, sqlalchemy.sql.expression.bindparam("zero", 0))

关于python - 如何在 sqlalchemy 查询中选择文字值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7533146/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com