使用烧瓶会话查询仅获取单个字段数据
Get only single field data using flask session query
例如,我有一个名为 User
的数据库 table,它具有以下字段:id
、name
和 age
。我只想获取age
字段的数据。目前,我正在获取查询中所有字段的数据。如何获取一个字段的数据?
session.query(User)
.filter_by(
id=1
)
.all()
在查询中提及您想要的列名称:
rows = session.query(User.age).filter_by(id=1).all()
实际上,SqlAlchemy 查询属性 return KeyedTuples,其行为类似于命名元组。
这就是为什么您的数据看起来像那样,您可以通过索引或名称访问它们:
rows = [i[0] for i in rows]
#or
rows = [i.age for i in rows]
rows
在此处阅读有关 KeyedTuple 的更多信息。
您可以使用以下两个语句将列减少到您的要求。
User.query.options(load_only('age')).all()
User.query.with_entities(User.age).all()
例如,我有一个名为 User
的数据库 table,它具有以下字段:id
、name
和 age
。我只想获取age
字段的数据。目前,我正在获取查询中所有字段的数据。如何获取一个字段的数据?
session.query(User)
.filter_by(
id=1
)
.all()
在查询中提及您想要的列名称:
rows = session.query(User.age).filter_by(id=1).all()
实际上,SqlAlchemy 查询属性 return KeyedTuples,其行为类似于命名元组。
这就是为什么您的数据看起来像那样,您可以通过索引或名称访问它们:
rows = [i[0] for i in rows]
#or
rows = [i.age for i in rows]
rows
在此处阅读有关 KeyedTuple 的更多信息。
您可以使用以下两个语句将列减少到您的要求。
User.query.options(load_only('age')).all()
User.query.with_entities(User.age).all()