Rom*_* M. 2 sqlalchemy flask-sqlalchemy
我正在使用flask作为带有sqlalchemy的python框架.模型使用query_property来帮助我构建查询:
class Person(object):
query = db_session.query_property()
....
persons = Person.query.all()
Run Code Online (Sandbox Code Playgroud)
每个人都有他居住的城市,州和国家,我想收集所有结果并输出如下内容:
Country State City Persons(count)
================================================================================
US NY New York 10
DE Berlin Berlin 100
Run Code Online (Sandbox Code Playgroud)
这显然需要按国家,州,城市选择计数和分组.group by thing有效但我不知道如何实现计数,因为查询属性没有select方法,在这种情况下我会写:
Person.query.select([Person.country, Person.state, Person.city, func.count(Person.id)]).all()
Run Code Online (Sandbox Code Playgroud)
谁知道如何使用query_property与group_by和count?
小智 7
您可以使用该add_columns方法Person.query附加计算值:
Person.query.add_columns(func.count(...)).group_by(...).all()
Run Code Online (Sandbox Code Playgroud)
请记住,您将返回元组列表(而不是Person对象).但是,每个元组都包含Person对象和计算值:
[(<Person object>, 3), (<Person object>, 7), ...]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4961 次 |
| 最近记录: |