【发布时间】:2020-05-10 15:59:54
【问题描述】:
我希望这与之前已回答的几个问题相似。
我想知道在 Django 中测试当前连接的数据库的数据库连接字符串(不是数据库名称)的完整过程是什么?我看到了一些打印名称的方法,但是在本地开发和分期中,这些名称将是相同的。我需要了解更多,例如 db 引擎(例如,是 PostgreSQL,还是 db.sqlite3. 等等),以及其他各种 DB 参数。
我目前正在尝试调试为什么 Celery beat 任务无法为我连接到的应用程序数据库创建数据库条目我认为。
我正在执行一个简单的obj, created = Object.objects.get_or_create() DB 方法,在记录created 时,有些是True,有些是False。到目前为止一切顺利。
但是,Django CMS 的管理部分不再向数据库显示任何条目。
我相信测试 Django 应用程序正在使用的数据库的位置和连接字符串可能有助于调试这个幽灵对象的创建......除非有人可以就他们在 Celery 守护进程中遇到的类似问题提出建议,但实际上并未持久化数据库创建/更新等...
也许是这样的:
from django.db import connection
print(connection.settings_dict)
够了吗?
【问题讨论】:
-
我想这是更好的方法,但我没有用 django 2.2 stackoverflow.com/a/18849255/3778674 测试它
-
@UtkuCansever 太棒了,是的。我对此问题和答案投了赞成票。
标签: django database docker celery