簡體   English   中英

在 SQLAlchemy 中重新格式化查詢結果

[英]Reformatting a query result in SQLAlchemy

SQL 查詢不僅允許獲得一堆列作為結果,而且允許同時將其形成為有用的東西。 例如:

select Person.name + " likes " + Food.name as all_i_want_as_a_result from Food, Person where Food.id == Person.favourite_food

但是我怎么能用 SQLAlchemy 做同樣的事情呢? 例如:

query = db.session.query(Food, Person).filter(Food.id == Person.favourite_food) <-- how do I modify this line?
for row in db.session.execute(query)
    print row

預期輸出將是:

Alice likes icecream
Bob likes pizza

您可以在.query()查詢任意內容:

query = db.session.query(Person.name.concat(" likes ").concat(Food.name).label("all_i_want_as_a_result"))
                  .filter(Food.id == Person.favourite_food)
print query

這打印:

SELECT "Person".name || ? || "Food".name AS all_i_want_as_a_result 
FROM "Person", "Food" 
WHERE "Food".id = "Person".favourite_food

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM