sql – 尝试使用django从postgres DB获取序列中的下一个值

我有一个在我的数据库中定义的序列,我想在我的 django应用程序中使用.我假设我可以使用django文档中指定的原始sql方法: http://docs.djangoproject.com/en/1.1/topics/db/sql/.我的计划是执行以下SQL语句:

select nextval('winner')

获胜者是我想要获得下一个值的序列.这是我的代码:

from django.db import connection, transaction

.....

cursor = connection.cursor()

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

结果始终是NoneType对象.这看起来非常简单明了,但我还没能做到这一点.我已经在交互式控制台中尝试了相同的结果.如果我查看connection.queries对象,我会看到:

{'time': '0.000', 'sql': "select nextval('winner')"}

生成的sql是有效的.有任何想法吗?

我正在使用:

> Django 1.1
> Python 2.6
> Postgres 8.3
> Psycopg2
> Mac OSX

cursor.execute始终返回None.

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

请参阅the documentation,但请注意,这实际上与Django无关,而是标准的Python SQL DB API.

相关文章
相关标签/搜索
每日一句
    每一个你不满意的现在,都有一个你没有努力的曾经。