今天在通過python檔案中單獨操作并運行django orm操作的時候,運行.py檔案時遇到以下的問題:
Traceback (most recent call last):
...
self.db_tablespace = db_tablespace or settings.DEFAULT_INDEX_TABLESPACE
File "D:\Program\Python37\lib\site-packages\django\conf\__init__.py", line 56, in __getattr__
self._setup(name)
File "D:\Program\Python37\lib\site-packages\django\conf\__init__.py", line 39, in _setup
% (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
查看.py檔案的代碼如下,簡單的幾行,看起來也沒什么問題:
import os
import django
from orm_practice import models
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "BookManage.settings")
django.setup()
ret = models.Person.objects.all()
print(ret)
經過對比老師課上寫的代碼,發現from orm_practice import models 這一行不能放在環境變數設定之前,按以下修改的代碼就可以正常運行:
import os
import django
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "BookManage.settings")
django.setup()
from orm_practice import models
ret = models.Person.objects.all()
print(ret)
再運行的話就不再報錯了,
<QuerySet []>
Process finished with exit code 0
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/175715.html
標籤:Python
