Django 渣求助
首先我承认这个需求有点奇葩,讲一下前因后果先:
我需要在 server 启动时干点事,并且需要涉及到数据库操作,于是我这样搞:
class XXXserverConfig(AppConfig):
name = 'xxxserver'
def ready(self):
from xxxutils.yyyutil import init_xxx_cache # 该步骤会 import models.py,进行数据库操作
init_xxx_cache()
以上方案工作正常,然而在我修改了某个 model,比如增加了一个 filed zzz 后,我需要执行
python manage.py makemigrations
来生成新的 migration,该命令也会执行上面初始化代码,于是就报错了,unknown column 'zzz' in 'field list'
我现在的想法是,能否在上面的 ready 函数中,检测出当前是在执行 manage.py makemigrations 命令,如果是的话,我就不执行后面的代码。
1
GuuJiang 2017-06-07 20:14:39 +08:00 via iPhone 1
sys.argv
|
2
julyclyde 2017-06-07 20:26:38 +08:00
那说明你加这段代码的位置不对
|
5
zonghua 2017-06-08 00:39:11 +08:00 via iPhone
django siganl 接受请求的信号
|
6
flyspace15 2017-06-08 09:40:37 +08:00
|
7
flyspace15 2017-06-08 09:41:08 +08:00
笔误,应该是生产模式
|