【发布时间】:2015-04-03 08:38:35
【问题描述】:
我正在使用(优秀的)Peewee ORM 来满足我在 Python 中的查询需求,现在我想转换以下查询:
select t1.created, t1.property_id, t1.requesting_user_id, t1.type, t1.response
from pdr t1
inner join (
select max(id) as id, property_id, requesting_user_id
from pdr
where property_id = 7
group by requesting_user_id
) as t2 on t2.id = t1.id
所以我想出了以下内容:
PDR.select()\
.join(PDR)\
.where(PDR.property == 7)\
.group_by(PDR.requesting_user)
但这会创建以下 sql:
SELECT t1.id, t1.created, t1.property_id, t1.requesting_user_id, t1.type, t1.comment, t1.responding_user_id, t1.property_details_request_id, t1.response
FROM pdr AS t1
INNER JOIN pdr AS t1
ON (t1.property_details_request_id = t1.id)
WHERE (t1.property_id = 7)
GROUP BY t1.requesting_user_id
我尝试了其他几种变体,但我有点卡住了。
有人知道如何将我的查询转换为 Peewee 吗?欢迎所有提示!
【问题讨论】:
标签: python mysql join orm peewee