Python 如何在Union peewee orm中对SQL结果进行排序
我使用peewee ORM连接到MySQL服务器 我写了这段代码:Python 如何在Union peewee orm中对SQL结果进行排序,python,mysql,python-2.7,peewee,Python,Mysql,Python 2.7,Peewee,我使用peewee ORM连接到MySQL服务器 我写了这段代码: c = ( Comments().select( Comments, Member.id.alias('member_id'), Member.username, Member.name, Member.family, Member.image_name ).join( Users, on=(Comments.user_key == Users.user_key) ).jo
c = (
Comments().select(
Comments, Member.id.alias('member_id'), Member.username, Member.name, Member.family, Member.image_name
).join(
Users, on=(Comments.user_key == Users.user_key)
).join(
Member, on=(Member.username == Users.username).alias('member')
).where(
Comments.element_key == element_key, Comments.status << [
Comments().EnumStatus.ACCEPT, Comments().EnumStatus.REPORT
]
)
|
Comments().select(
Comments, Admin_users.id.alias('member_id'), Admin_users.username, Admin_users.name,
Admin_users.family, Admin_users.image_name
).join(
Users, on=(Comments.user_key == Users.user_key)
).join(
Admin_users, on=(Admin_users.username == Users.username).alias('member')
).where(
Comments.element_key == element_key, Comments.status << [
Comments().EnumStatus.ACCEPT, Comments().EnumStatus.REPORT
]
)
).order_by(Comments.date_submit).paginate(page, count)
print(c.sql)
c = c.execute()
错误是:
(1054, "Unknown column 't1.date_submit' in 'order clause'")
如何重新排序此查询?您可以尝试以下操作:
comments_query = (
Comment.select(blah blah blah)
|
Comment.select(yadda yadda yadda)
)
ordered_query = comments_query.order_by(comments_query.c.date_submit)
我使用此代码及其工作原理:
... ).order_by(SQL('date_submit')). ...
谢谢@coleifer!在
comments\u query.c.date\u submit
什么是c
?你能解释一下吗?
... ).order_by(SQL('date_submit')). ...