2016-03-15 72 views
-1

SQL查詢不僅允許獲取一堆列作爲結果,而且可以同時將其形成一些有用的信息。例如: -在SQLAlchemy中重新格式化查詢結果

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 
+1

嗨,我們同時編輯並打破系統。你可以請重新編輯帖子。不便之處 –

+0

不用擔心。但它對我來說看起來不錯,我什麼都不會改變。 – Digital

+0

感謝您將*牛肉*改爲*漢堡*。 –

回答

0

您可以任意東西查詢裏面.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