У меня есть список id
s, соответствующий запросам клиента.Проблема Создание запроса SQLAlchemy
У меня есть 2 таблицы, представляющие интерес:
**Request**
id
time_of_creation
и
**Reply**
id
request_id (foreign key to `id` in request)
timestamp
Каждый запрос может иметь несколько ответов. Мне нужен список разницы во времени между каждым запросом и самым ранним ответом.
В настоящее время я
reply_table = aliased(Reply, name='ReplyTable')
request_table = aliased(Request, name='RequestTable')
s = (cls.session.query(func.min(reply_table.timestamp).label('timestamp')).
join(request_table).
filter(request_table.id.in_(requests)))
query = (cls.session.query(Reply.timestamp, Request.time_of_creation).
filter(
Reply.timestamp.in_(s),
Request.id.in_(requests)
).join(Request))
return query.all()
где requests
может выглядеть примерно так [1, 100, 200, .. 3]
.
К сожалению, этим результатом является только одно значение. Это правильный способ вложить 2 запроса, чтобы вернуть список timestamp
и time_of_creation
пар, чтобы я мог учитывать разницу во времени каждой пары в результирующем списке?