Cursor.connection()返回列但不返回行

时间:2016-02-02 17:44:32

标签: python django postgresql

我有一个需要从Postgres-DB读取数据并返回行的django项目。我使用了一个django.connections.cursor对象来做到这一点。当我执行查询时,我得到了列或表属性,但我没有得到任何行。我知道DB-table本身是用行填充的,所以它不是一个空数据库。

isset()

为别名创建测试数据库'默认' ...

CURSOR IS:

    try:
        cursor = connection.cursor()
        rv = cursor.execute("SELECT * from test_db_table")
        columns = [col[0] for col in cursor.description]
        print "CURSOR IS : "
        print cursor
        print "Cursor descritpion : " + str(cursor.description)
        print "COLUMNS : "
        print columns
        print "ROW : 0"
        print cursor.fetchone()
        print "ALL ROWS : " 
        print cursor.fetchall()
        return [dict(zip(columns, row))
                for row in cursor.fetchall()]
    except Exception as e:
        logger.exception(str(e))
        return []

Cursor descritpion:

<django.db.backends.utils.CursorWrapper object at 0x7f3b8a7e6050>

专栏:

(Column(name='uuid', type_code=1043, display_size=None, internal_size=36, precision=None, scale=None, null_ok=None), 
Column(name='ossa_id', type_code=1043, display_size=None, internal_size=16, precision=None, scale=None, null_ok=None), 
Column(name='link', type_code=25, display_size=None, internal_size=-1, precision=None, scale=None, null_ok=None), 
Column(name='processed', type_code=16, display_size=None, internal_size=1, precision=None, scale=None, null_ok=None), 
Column(name='name', type_code=25, display_size=None, internal_size=-1, precision=None, scale=None, null_ok=None), 
Column(name='description', type_code=25, display_size=None, internal_size=-1, precision=None, scale=None, null_ok=None), 
Column(name='affects', type_code=25, display_size=None, internal_size=-1, precision=None, scale=None, null_ok=None), 
Column(name='patches', type_code=25, display_size=None, internal_size=-1, precision=None, scale=None, null_ok=None), 
Column(name='references', type_code=25, display_size=None, internal_size=-1, precision=None, scale=None, null_ok=None), 
Column(name='notes', type_code=25, display_size=None, internal_size=-1, precision=None, scale=None, null_ok=None), 
Column(name='cve', type_code=25, display_size=None, internal_size=-1, precision=None, scale=None, null_ok=None), 
Column(name='notice_date', type_code=1082, display_size=None, internal_size=4, precision=None, scale=None, null_ok=None), 
Column(name='created', type_code=1184, display_size=None, internal_size=8, precision=None, scale=None, null_ok=None), 
Column(name='updated', type_code=1184, display_size=None, internal_size=8, precision=None, scale=None, null_ok=None))

行:0

所有行:&#34;

[]

['uuid', 'ossa_id', 'link', 'processed', 'name', 'description', 'affects',
 'patches', 'references', 'notes', 'cve', 'notice_date', 'created', 'updated']

有人能说清楚这个吗?

0 个答案:

没有答案