pycharm调试django.core.exceptions.AppRegistryNotReady: Apps aren‘t loaded yet.

JaquanC 2022-05-14 15:10:25 阅读数:214

pycharmdjango调试Coredjango.core.exceptions.appregistrynotready

需求背景

我需要在django项目中app应用下写一个工具方法,用来更新数据库。

报错信息

django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.

有效代码

import os
import django
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'devops.settings') # devops换成自己的项目名称
django.setup()
from blog.models import Aticle # 这里导入你自己的应用模型
def update_single_content():
c_ids = Aticle.objects.values_list("article_id", flat=True)
c_ids = list(c_ids)
print(c_ids)
if __name__ == '__main__':
update_single_content()

这里需要关注的是前4行代码,顺序不要错

  • AppRegistryNotReady 从这个报错出发,解决办法应该是在加载应用models之前激活项目的设置,所以django.setup()一定要在update_single_content之前。

  • os.environ.setdefault 设置环境的运行环境,排除对pycharm的配置依赖,不用在pycharm中另加环境变量。

版权声明:本文为[JaquanC]所创,转载请带上原文链接,感谢。 https://blog.csdn.net/kun_csdn/article/details/124750181