1
それぞれのカテゴリのアイテム数を数え、ジンジャーテンプレートで繰り返し処理できるコレクションを作成しようとしています。私の最終的な出力のようなものです:sqlalchemyモデルの関連アイテムをカウントする
カテゴリ1、5
カテゴリ2、10
カテゴリー3、0
ゼロのアイテムの場合は重要です。
私のモデルは次のとおりです。
class Category(Base):
__tablename__ = 'category'
id = Column(Integer, primary_key=True)
name = Column(String(80), unique=True)
user_id = Column(Integer, ForeignKey('user.id'))
user = relationship(User)
class Item(Base):
__tablename__ = 'item'
id = Column(Integer, primary_key=True)
name = Column(String(80))
description = Column(String(500))
category_id = Column(Integer, ForeignKey('category.id'))
category = relationship(Category)
user_id = Column(Integer, ForeignKey('user.id'))
user = relationship(User)
date_added = Column(DateTime, default=datetime.datetime.now)
私は親切に、クエリ、ほぼ正しい
count_categories = db_session.query(Category.name, func.count(Item.id)).join(Item.category).group_by(Category.id).all()
に私を導いた、Stackoverflow: Counting relationships in SQLAlchemyの方向に指摘されてきたが、それはしていませんゼロの場合を処理します。カテゴリにアイテムがない場合は、依然としてクエリによって返されたカテゴリが必要です。
ご迷惑をおかけして申し訳ございません。
可能な複製を参照してください(http://stackoverflow.com/questions/25500904/counting-relationships -in-sqlalchemy) –