具体来说,我的django应用程序文件夹中有一个独立的脚本,该脚本正在访问模型,根据django docs here,您必须进行以下配置:
import os
import django
os.environ['DJANGO_SETTINGS_MODULE'] = settings_file
django.setup()
但是当我运行服务器时出现错误
RuntimeError: populate() isn't reentrant
在与我拥有models.py文件的目录相同的目录中,我有一个utils.py文件,这是我的独立脚本,并且我的import语句如下:
import os
import django
os.environ['DJANGO_SETTINGS_MODULE'] = 'sdn.settings'
if __name__ == '__main__':
django.setup()
import requests
from .models import Location, BandwidthLogs, InterfaceLogs, Summary
我收到无法导入模型的错误。
答案 0 :(得分:1)
您可能试图通过简单地导入django.setup()
多次。将通话包裹在__main__
块内,即:
if __name__ == '__main__':
django.setup()
话虽如此,我会写一个management command而不是一个独立的脚本,因为它会为您设置环境。