例如,我有一個名為資料庫表User具有以下欄位:id,name,和age。我只想獲取該欄位的資料age。目前,我正在獲取查詢中所有欄位的資料。如何只獲取一個欄位的資料?
session.query(User)
.filter_by(
id=1
)
.all()
uj5u.com熱心網友回復:
在查詢中提及您想要的列名:
rows = session.query(User.age).filter_by(id=1).all()
實際上,SqlAlchemy 對屬性的查詢回傳 KeyedTuples,其行為類似于命名元組。
這就是為什么您的資料看起來像這樣,您可以通過索引或名稱訪問它們:
rows = [i[0] for i in rows]
#or
rows = [i.age for i in rows]
rows
在此處閱讀有關KeyedTuple 的更多資訊。
uj5u.com熱心網友回復:
您可以使用以下兩個陳述句將列減少到您的要求。
僅加載:
User.query.options(load_only('age')).all()
with_entities :
User.query.with_entities(User.age).all()
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/355659.html
