如何在Django中访问低级psycopg2连接?

时间:2011-12-06 16:00:42

标签: python django postgresql psycopg2

我想访问低级别的psycopg2连接对象,以便在我的django项目中使用psycopg2.extensions.lobject类。

from django.db import connection

没有提供我需要的东西。有人能帮助我吗?

3 个答案:

答案 0 :(得分:5)

您可以看到from the source from django.db import connection为默认数据库返回DatabaseWrapperIn the psycopg2 backend您会看到DatabaseWrapper通过connection.cursor().connection访问低级别连接。

答案 1 :(得分:2)

这些答案很好,但不能复制且文档过时,所以让我解决。
version 3开始,您就可以使用原始连接

from django.db import connection

stmt = "SELECT * FROM foo"

with connection.cursor() as cursor:
    cursor.execute(stmt)

答案 2 :(得分:0)

如果您使用的是django 1.2+,则应该将其更改为:

from django.db import connections['default']

或类似的东西。