gpt4 book ai didi

django - 如何知道 Django 中的数据库何时准备就绪?

转载 作者:搜寻专家 更新时间:2023-10-30 19:50:42 24 4
gpt4 key购买 nike

一旦 Django 中的数据库准备就绪,我就需要做一些事情。具体来说,我需要对来自数据库的值执行一些计算并将结果填充到缓存中。

从 django 1.7 开始,application registry可以很容易地知道应用程序或模型何时可以使用。你可以这样写:

from django.apps import apps

if apps.ready:
do_some_stuff()

但是我发现模型准备好并不意味着可以查询数据库。 Django 文档说:

Although you can access model classes as described above, avoid interacting with the database in your ready() implementation

我试图连接到 post_migrate 事件。如果我正在重建数据库(例如启动测试套件)它会工作,但如果我只是使用现有的数据库(例如使用 runserver)则不会。

有没有办法知道数据库在 Django >= 1.7 中是否完全可用?

最佳答案

我还使用 post_migrate 信号。 (如:https://github.com/mrjmad/django_badgificator/blob/master/badgificator/apps.py)。

我通过阅读您的问题意识到它不适用于“runserver”...

关于django - 如何知道 Django 中的数据库何时准备就绪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32010439/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com