Sql -Алхимия по группам и фильтрация по списку идентификаторов - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть таблица Listing и таблица Entry в базе данных mysql. Каждый листинг имеет одну или несколько записей, и я пытаюсь получить список всех отдельных записей, которые принадлежат списку идентификаторов листинга, и сгруппировать их, суммируя значение оценки.

id_list = "a list of Listing ids"

entries = db.session.query(Entry.entry, sum(Entry.score)).filter(Entry.listing_id.in_(id_list)).group_by(Entry.entry).all()

Но я получаю эту ошибку, когда я запускаю вышеупомянутый запрос в Flask:

NotImplementedError: Operator 'getitem' is not supported on this expression

Я пробовал Google, но я не нашел ничего, связанного с моим конкретным случаем, какие-либо идеи, что я делаю неправильно

1 Ответ

1 голос
/ 16 апреля 2020

Как уже упоминалось в моем комментарии, проблема заключается в sum.

Попробуйте from sqlalchemy import func, а затем entries = db.session.query(Entry.entry, func.sum(Entry.score))...

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