如何在 Django 测试运行中检查数据库?

发布于 2024-11-25 12:47:22 字数 256 浏览 0 评论 0原文

我正在努力成为一名优秀的程序员并使用 Django 的测试工具。一切进展顺利,但我希望当我在调试器中停止程序时能够检查数据库。看起来我在设置例程中执行的数据库工作包含在事务中,因此我无法从另一个会话中看到它(我正在使用 PostgreSQL 后端)。

我已经做了一些尝试,但我没有安装 TransactionMiddleware。我尝试用 django.db.transactions.commit_on_success 装饰我的函数,但这没有帮助。

有什么想法吗?

I'm trying to be a good programmer and use Django's testing facility. things are going pretty well, but I would like to be able to examine the database when I stop the program in the debugger. It looks like the database work that I do in my setUp routines is wrapped in a transaction, so I can't see it from another session (I'm using a PostgreSQL back-end).

I've done some playing around and I don't have TransactionMiddleware installed. I tried decorating my functions with django.db.transactions.commit_on_success, but that is not helping.

Any thoughts?

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

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

发布评论

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

评论(2

别在捏我脸啦 2024-12-02 12:47:22

可能使用 TransactionTestCase 而不是 TestCase 可能会有所帮助。

Possibly using TransactionTestCase instead of TestCase might help.

浸婚纱 2024-12-02 12:47:22

如果您使用的是 django.test.TestCase,Django 将每个测试包装在一个事务中,该事务在测试结束时回滚。您应该改为子类化 TransactionTestCase

If you're using django.test.TestCase, Django wraps each test in a transaction, which is rolled back at the end of the test. You should subclass TransactionTestCase instead.

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