模型类没有声明一个显式的app_label,也不是在应用程序中

时间:2016-04-05 14:15:42

标签: python django uwsgi apscheduler

我使用Django(1.8.1)。 我需要一些python代码才能在Django启动时运行(apscheduler初始化),因此在我的一个项目应用程序中,以my_app命名,我根据Django创建了apps.py并声明了appconfig ready方法文档。

from apscheduler.schedulers.background import BackgroundScheduler
from django.apps import AppConfig
from my_app.views import some_shecheduled_method

class ManagerConfig(AppConfig):
    name = 'my_app'
    verbose_name = "My Application"
    scheduler = None

    def ready(self):
        ManagerConfig.scheduler = BackgroundScheduler()
        ManagerConfig.scheduler.add_job(some_shecheduled_method, 'interval', seconds=15)
        ManagerConfig.scheduler.start()

同样在申请__init__.py中:

default_app_config = 'my_app.apps.ManagerConfig'

但是在将此项添加到应用程序日志中的__init__.py后,我会看到项目中所有模型的下一条消息:

05/04 16:00:25|py.warnings:116:WARNING ./authsystem/models.py:51: RemovedInDjango19Warning: Model class authsystem.models.UserActionLog doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
  class UserActionLog(Model):

另外当我在Django中使用这个apscheduler时,它会在我重新加载应用程序时挂起(我使用uwsgi + py-autoreload=5),我的方法可能会有一些错误,我需要使用另一种方式初始化调度程序

0 个答案:

没有答案