2017-10-12 91 views
0

我正在使用sqlalchemy与瓶。目前,我有2个型号参与了这个查询:SQLAlachemy高级计数()查询

class Actor(db.Model): 
    id = db.Column(db.Integer, primary_key=True, autoincrement=True) 
    name = db.Column(db.String(255)) 
    type_id = db.Column(db.Integer, db.ForeignKey('actor_type.id')) 
    geo_origin = db.Column(db.String(45)) 
    type = db.relationship("ActorType") 

class ActorType(db.Model): 
    id = db.Column(db.Integer, primary_key=True, autoincrement=True) 
    title = db.Column(db.String(45), unique=True) 

所以,我做这个查询,这完美的作品:

actors_by_type = (db.session.query(models.Actor.type_id, func.count(models.Actor.id).label("count")).group_by(models.Actor.type_id)).all() 

什么是让ActorType.titles而不是ActorType.ids的最佳途径在结果?

回答

0

试试这个,我不是舒尔关于模型的名称,但它精致warks在我的项目

query = db.session.query(models.ActorType.type_id, func.count(models.Actor.id)) \ 
     .join(models.Actor) \ 
     .group_by(models.ActorType.type_id)\ 
     .all() 
+0

嗯,看来你不读问题完全。 –

+0

是的,但我修改了我的答案,我希望能帮到你 –