Django AppConfig :: ready无法使用影响模型的模块

时间:2019-04-30 09:31:17

标签: python django

我希望在使用django应用程序加载时使用AppConfig :: ready方法运行一个初始化函数。

但是,我希望运行的功能需要使用Django模型,并且在导入apps.py时无法导入该模块,因为此时模型尚未完全加载。

如何解决此限制?

def Queryfun(){
    select * from table1 where date = 2019.04.29 and time >= 09:30:00
}
submitJob("Queryfun","Queryfun",  Queryfun)

产生错误:

from django.apps import AppConfig
from . import populate_db
from . import server_settings


class ServerConfig(AppConfig):
    name = 'server'

    def ready(self):
        populate_db.populate_db(server_settings.opt.data_root)

1 个答案:

答案 0 :(得分:1)

尝试在ready方法中进行导入,例如:

class ServerConfig(AppConfig):
    name = 'server'
    def ready(self):
        from . import populate_db
        from . import server_settings
        populate_db.populate_db(server_settings.opt.data_root)