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

发布于 2024-12-19 14:24:37 字数 163 浏览 1 评论 0原文

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

from django.db import connection

不提供我需要的东西。有人可以帮助我吗?

I want to access the low level psycopg2 connection object to use the psycopg2.extensions.lobject class in my django project.

from django.db import connection

does not provide what I need. Can anybody help me?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

烟酒忠诚 2024-12-26 14:24:37

您可以从源代码中看到 /a> from django.db import connection 返回默认数据库的DatabaseWrapper在 psycopg2 中后端你会看到DatabaseWrapper通过以下方式访问低级连接connection.cursor().connection

You can see from the source that from django.db import connection returns a DatabaseWrapper for the default DB. In the psycopg2 backend you'll see that the DatabaseWrapper accesses the low level connection via connection.cursor().connection.

趁微风不噪 2024-12-26 14:24:37

这些答案很好,但不可复制,并且文档已过时,所以让我解决这个问题。
版本 3 开始,您像这样使用原始连接

from django.db import connection

stmt = "SELECT * FROM foo"

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

Those answers are good but not copypastable and with outdated docs so let me fix that.
As of version 3 you use the raw connection like that

from django.db import connection

stmt = "SELECT * FROM foo"

with connection.cursor() as cursor:
    cursor.execute(stmt)
放血 2024-12-26 14:24:37

如果您使用 django 1.2+,您可能应该将其更改为:

from django.db import connections['default']

或等效的内容。

If you are using django 1.2+, you should probably change that to:

from django.db import connections['default']

or something equivalent.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文