我有两个使用外键链接的表:
class Region(db.Model):
__tablename__ = 'regions'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(55), nullable=False)
items = db.relationship('Item', backref='region', lazy='dynamic')
class Item(db.Model):
__tablename__ = 'items'
id = db.Column(db.Integer, primary_key=True)
region_id = db.Column(db.Integer, db.ForeignKey('regions.id'))
我想知道特定地区有多少物品。我可以使用项目表中的region_id
字段执行此操作,如下所示:
field = Item.region_id
count = func.count(field)
query = db.session.query(count, field).group_by(field).all()
但是,我真的不想使用Item.region_id
进行分组,我真的想使用name
使用Region
类的backref
列进行分组。如下所示:
field = Item.region.name
count = func.count(field)
query = db.session.query(count, field).group_by(field).all()
有一种简单的方法吗?