django - 为什么不先使用 django.setup() 就无法将模型导入 python 脚本
问题描述
根据这个答案(Django script to access model objects without using manage.py shell),在我可以在我的独立 python 脚本中使用 Django 模型之前,将它指向项目的设置文件就足够了:
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "my_project.settings")
from my_app.models import MyModel
这会导致错误:
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
然而,这工作得很好:
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "my_project.settings")
import django
django.setup()
from my_app.models import MyModel
我使用 Django 2.1.7
现在是否需要django.setup()
在我使用 Django 模型的每个脚本中使用?
解决方案
简而言之,是的。django.setup
如果您想使用 Django 功能,您需要致电。
有关此文档的更多信息。
推荐阅读
- pandas - 按时间戳类型的列名对df进行排序
- python - 使用 conda 进行全新 ubuntu 20.04 安装的 Segfault
- r - 使用 coord_polar 更改 Y 比例
- php - 在 profile.php 中显示登录用户的数据
- python - rpy2 pass : 在函数参数中
- dolphindb - 如何在 DolphinDB 中使用 cutPoints?
- amazon-web-services - 在每次应用时销毁和创建 Ec2 实例
- c++ - 如何在不使用“if”的情况下编写返回值取决于标志的函数?
- r - 使用 lubridate - R 解析日期
- node.js - 如何检查文档是否存在于 MongoDB 中