от
Я использую Flask-SQLAlchemy (flask_sqlalchemy == 2.3.2) для моего веб-приложения Flask. Для обычных табличных запросов это было выполнено безупречно, но сейчас я перехожу к превращению некоторой логики в представления SQL, и SQLAlchemy не собирает полные результаты. Это мой конкретный пример: SQL View
view_ticket_counts
:
CREATE VIEW view_ticket_counts AS
SELECT event_id, price_id, COUNT(1) AS ticket_count FROM public.tickets
GROUP BY event_id, price_id
Когда я запускаю это как обычный SQL-запрос с pgAdmin:
SELECT * FROM view_ticket_counts WHERE event_id=1
Я получаю результаты:
|event_id|price_id|ticket_count|
|   1    |    1   |     3      |
|   1    |    2   |     1      |
Тем не менее, если я запускаю запрос SQLAlchemy Python, например, так:
ticket_counts = ViewTicketCounts.query.filter_by(event_id=1).all()
for tc in ticket_counts:
    print(tc.event_id, tc.price_id, tc.ticket_count)
Он печатает только один результат:
1 1 3
Поэтому по какой-то причине запрос или реализация SQLAlchemy получает только первый элемент, даже с
.all()
. Для завершения это мой класс View Model:
class ViewTicketCounts(db.Model):
    event_id = db.Column(BigInteger, primary_key=True)
    price_id = db.Column(BigInteger)
    ticket_count = db.Column(BigInteger)
             

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.
...