2017-10-12 12 views
0

フラスコでsqlalchemyを使用しています。現在、私はこのクエリに関連する2つのモデルがあります:SQLAlachemy advanced count()クエリ

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) 

をだから、私は完璧に動作し、このクエリを、実行します。代わりにActorType.idsのActorType.titlesを取得するための最良の方法です

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

何結果には?

答えて

0

、私はモデルの名前についてはSHUREていないよ、これを試してみてくださいそれは、私のプロジェクト

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

ウェル内の細かいwarksあなたは完全に質問を読んでいないように見えます。 –

+0

はい、私の答えを修正しました。 –