欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

在python文件中操作django orm提示环境变量设置问题

程序员文章站 2022-03-25 17:37:44
今天在通过python文件中单独操作并运行django orm操作的时候,运行.py文件时遇到以下的问题: 查看.py文件的代码如下,简单的几行,看起来也没什么问题: 经过对比老师课上写的代码,发现 这一行不能放在环境变量设置之前,按以下修改的代码就可以正常运行: 再运行的话就不再报错了。 ......

今天在通过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