Django:如何在启动时禁用数据库状态检查?

时间:2017-07-21 14:32:20

标签: python mysql django django-models django-south

据我所知,如果settings.py中设置的任何数据库在应用程序启动时出现故障,则Django应用程序无法启动。反正有没有让Django“lazyload”初始数据库连接?

我配置了两个数据库,其中一个数据库有点不稳定,有时可能会停机几秒钟,但它仅用于应用程序的某些特定用例。你可以想象我不希望所有的应用程序因此而无法启动。对此有什么解决方案吗?

我正在使用Django 1.6.11,我们也使用Django South进行数据库迁移(如果它以某种方式相关)。

1 个答案:

答案 0 :(得分:1)

我不知道它有多安全,但您可以执行以下操作:

  1. settings.py开头,空DATABASES

    DATABASES = {}
    
  2. apps.py中,使用ready()挂钩建立数据库连接:

    from settings.py import DATABASES
    
    class YourAppConfig(AppConfig):
    
        def ready(self):
            DATABASES.update({
                Your database connections
            })
    
  3. 现在我不能把手放在火上,但是需要的时候是Django will try to reinitialize the database connection

相关问题