У меня есть простая модель данных с документами и категориями.Каждому документу может быть назначена одна из трех категорий, хранящихся в таблице категорий.Вот модель данных в SQLAlchemy:
class Document(Base):
__tablename__ = "Document"
id = Column(Integer, primary_key=True)
content = Column(String(5000))
category_id = Column(None, ForeignKey(Category.id))
class Category(Base):
__tablename__ = "Category"
id = Column(Integer, primary_key=True)
label = Column(String(50))
Теперь я хотел бы выполнить запрос, который будет возвращать количество документов для каждой категории.
Я выполняю следующий запрос:
session.query(Document.category_id, func.count(Document.category_id)).group_by(Document.category_id).all()
Что работает, за исключением того, что мой результат имеет форму {category_id : count}
, когда я действительно хочу получить {category.label : count}
Можно ли добиться этого просто, изменив запрос?Или я должен был бы также изменить мою модель данных (включая backref
возможно?)