Sqlalchemy 与 postgres。尝试获得“DISTINCT ON”而不是“独特”
我需要生成这样的查询:
SELECT **DISTINCT ON** (article.code) article.code, article.title
首先,我尝试通过 ORM 不同的方法来生成它,并向其发送一个包含字段的列表。但这是行不通的。其次,我尝试通过 sqlalchemy.sql.select 来实现它 - 它还生成这样的 sql 查询:
SELECT DISTINCT article.code, article.title
我需要 SELECT **DISTINCT ON** (article.code)...
我看看源代码,并在 sqlalchemy.dialects.postgresql.base.PGCompiler.get_select_precolumns
代码中找到,用于生成如下结构:“DISTINCT ON” 但这个方法没有被调用。相反,这称为另一种方法 - sqlalchemy.sql.compiler.get_select_precolumns
- 它没有为 DISTINCT
生成 DISTINCT ON
的代码,也许我应该配置我的会话以正确调用方法吗?
I need to generate query like this:
SELECT **DISTINCT ON** (article.code) article.code, article.title
First I try to make it via ORM distinct method and send it a list with fields. But it wont work. Second, I try to make it via sqlalchemy.sql.select - and it also generate sql query like this:
SELECT DISTINCT article.code, article.title
I Need SELECT **DISTINCT ON** (article.code)
...
I look at source code and found in sqlalchemy.dialects.postgresql.base.PGCompiler.get_select_precolumns
code for generating constructions like: 'DISTINCT ON'
But this method do not called. Instead of this called another method - sqlalchemy.sql.compiler.get_select_precolumns
- it hasn't code for generating DISTINCT ON
only for DISTINCT
Maybe I should configure my session to called properly method?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
此错误报告表明
DISTINCT ON
在 SQLAlchemy 0.7 中可以正常工作+。我认为升级是适当的,除非您发现 0.7 中的错误。解决方法。 。 。
为 Ubuntu 做好准备。
来源。
开。我不确定那是不是
在最一般的情况下是可能的。
This bug report suggests that
DISTINCT ON
works correctly in SQLAlchemy 0.7+. I think an upgrade is in order, unless you've uncovered a bug in 0.7.Workarounds . . .
ready for Ubuntu.
source.
DISTINCT
. I'm not sure whether that'sON
possible in the most general case.