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 命令,如果是的话,我就不执行后面的代码。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.