【发布时间】:2010-10-31 21:37:51
【问题描述】:
数据库是 PostgreSQL。当我尝试使用参数执行查询时,例如这个
cursor.execute("""
SELECT u.username, up.description,
ts_rank_cd(to_tsvector(coalesce(username,'')|| coalesce(description,'')) , to_tsquery('%s')) as rank
FROM auth_user u INNER JOIN pm_core_userprofile up on u.id = up.user_id
WHERE to_tsvector(coalesce(username,'')|| coalesce(description,'')) @@ to_tsquery('%s')
ORDER BY rank DESC;
""", ["hello","hello"])
Django 抱怨 ProgrammingError,在参数处或附近添加语法错误(在本例中为“hello”)。这是错误来自的 Django 生成的 SQL 语句的一部分:
to_tsquery('E'hello'')
即使我将它复制粘贴到 postgreSQL shell,我也会收到语法错误。如果我省略“E”部分,它会起作用。我该怎么做?
【问题讨论】:
标签: django postgresql django-orm