Возврат поля родительской таблицы в Groupby с помощью SQLAlchemy - PullRequest
0 голосов
/ 21 мая 2019

У меня есть простая модель данных с документами и категориями.Каждому документу может быть назначена одна из трех категорий, хранящихся в таблице категорий.Вот модель данных в 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 возможно?)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...