Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 尝试使用django从postgres DB中按顺序获取下一个值_Sql_Django_Postgresql - Fatal编程技术网

Sql 尝试使用django从postgres DB中按顺序获取下一个值

Sql 尝试使用django从postgres DB中按顺序获取下一个值,sql,django,postgresql,Sql,Django,Postgresql,我在数据库中定义了一个序列,我想在django应用程序中使用它。我假设我可以在这里使用django文档中指定的原始sql方法:。我的计划是执行以下SQL语句: select nextval('winner') 其中winner是我想从中获取下一个值的序列。这是我的密码: from django.db import connection, transaction ..... cursor = connection.cursor() result = cursor.execute("sele

我在数据库中定义了一个序列,我想在django应用程序中使用它。我假设我可以在这里使用django文档中指定的原始sql方法:。我的计划是执行以下SQL语句:

select nextval('winner')
其中winner是我想从中获取下一个值的序列。这是我的密码:

from django.db import connection, transaction

.....

cursor = connection.cursor()

result = cursor.execute("select nextval('winner')")
结果始终是非类型对象。这看起来非常简单和直接,但我一直无法做到这一点。我在交互式控制台中尝试过,结果也一样。如果我查看connection.querys对象,我会看到:

{'time': '0.000', 'sql': "select nextval('winner')"}
生成的sql是有效的。有什么想法吗

我正在使用:

  • Django 1.1
  • Python 2.6
  • 博士后8.3
  • Psycopg2
  • MacOSX

游标。执行
始终返回无

要从SQL语句中获取值,必须使用
cursor.fetchone()
(或
fetchall()

请参见,尽管注意这实际上与Django没有任何关系,但它是标准的Python SQL DB API。

此代码可以工作:

from django.db import connection, transaction

cursor = connection.cursor()
cursor.execute("select nextval('winner')")
result = cursor.fetchone()