Psycopg2 DictCursor什么都不返回

时间:2018-02-20 11:55:24

标签: postgresql cursor psycopg2

我的查询是:

from setuptools import find_packages
from setuptools import setup
import os

base_dir = os.path.dirname(__file__)

setup(
    entry_points = '''
        [console_scripts]
        myapp=myapp.main:entry_point
    ''',
    install_requires = [
        'packageone==1.0',
        'packagetwo==2.0',
    ],
    name = "myapp",
    packages=find_packages(),
    setup_requires="setuptools",
    version = "0.1",
)

接下来我用

query = '''
    SELECT * from table
    where id IN (SELECT ext_id from table2
            where title= %s and year = %s)
'''

它返回[],即没有

但是如果我设置了cursor = conn.cursor(),那么同一个查询会返回一些行!出了什么问题?为什么我不能使用DictCursor?

1 个答案:

答案 0 :(得分:0)

在我的代码中,请勿使用 pg .extras.DictCursor。

而是使用 psycopg2 .extras.DictCursor

我写了以下内容:

import psycopg2
import psycopg2.extras

cursor = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)

然后我就可以使用密钥访问内容了。

尝试一下,让我知道。