Python django中的导入错误
我在同一文件夹(app)Python django中的导入错误,python,django,Python,Django,我在同一文件夹(app)feed中有两个文件 models.py from django.db import models from .managers import FeedManager class Feed(models.Model): #fields for my model 经理.py from django.db import models from .models import Feed class FeedManager(models.Manager):
feed
中有两个文件
models.py
from django.db import models
from .managers import FeedManager
class Feed(models.Model):
#fields for my model
经理.py
from django.db import models
from .models import Feed
class FeedManager(models.Manager):
def get_queryset(self, *args, **kwargs):
return super(FeedManager, self).get_queryset(*args, **kwargs)
我在运行服务器时遇到以下错误:
Unhandled exception in thread started by <function wrapper at 0x04064370>
Traceback (most recent call last):
File "C:\Users\Sumit\Desktop\django\venv\lib\site-packages\django\utils\autoreload.py", line 229, in wrapper
fn(*args, **kwargs)
File "C:\Users\Sumit\Desktop\django\venv\lib\site-packages\django\core\management\commands\runserver.py", line 107, in inner_run
autoreload.raise_last_exception()
File "C:\Users\Sumit\Desktop\django\venv\lib\site-packages\django\utils\autoreload.py", line 252, in raise_last_exception
six.reraise(*_exception)
File "C:\Users\Sumit\Desktop\django\venv\lib\site-packages\django\utils\autoreload.py", line 229, in wrapper
fn(*args, **kwargs)
File "C:\Users\Sumit\Desktop\django\venv\lib\site-packages\django\__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "C:\Users\Sumit\Desktop\django\venv\lib\site-packages\django\apps\registry.py", line 108, in populate
app_config.import_models(all_models)
File "C:\Users\Sumit\Desktop\django\venv\lib\site-packages\django\apps\config.py", line 198, in import_models
self.models_module = import_module(models_module_name)
File "C:\Python27\Lib\importlib\__init__.py", line 37, in import_module
__import__(name)
File "C:\Users\Sumit\Desktop\django\network\feed\models.py", line 7, in <module>
from .managers import FeedManager
File "C:\Users\Sumit\Desktop\django\network\feed\managers.py", line 3, in <module>
from .models import Feed
ImportError: cannot import name Feed
由启动的线程中未处理的异常
回溯(最近一次呼叫最后一次):
文件“C:\Users\Sumit\Desktop\django\venv\lib\site packages\django\utils\autoreload.py”,第229行,在包装器中
fn(*args,**kwargs)
文件“C:\Users\Sumit\Desktop\django\venv\lib\site packages\django\core\management\commands\runserver.py”,第107行,在内部运行
autoreload.raise\u last\u异常()
文件“C:\Users\Sumit\Desktop\django\venv\lib\site packages\django\utils\autoreload.py”,第252行,在raise\u last\u异常中
六、重放(*_例外)
文件“C:\Users\Sumit\Desktop\django\venv\lib\site packages\django\utils\autoreload.py”,第229行,在包装器中
fn(*args,**kwargs)
文件“C:\Users\Sumit\Desktop\django\venv\lib\site packages\django\\uuuuu init\uuuuuu.py”,第18行,在安装程序中
应用程序。填充(设置。已安装的应用程序)
文件“C:\Users\Sumit\Desktop\django\venv\lib\site packages\django\apps\registry.py”,第108行,在填充中
app_config.import_models(所有_models)
文件“C:\Users\Sumit\Desktop\django\venv\lib\site packages\django\apps\config.py”,第198行,在导入模型中
self.models\u module=导入模块(models\u module\u name)
文件“C:\Python27\Lib\importlib\\uuuu init\uuuuu.py”,第37行,在导入模块中
__导入(名称)
文件“C:\Users\Sumit\Desktop\django\network\feed\models.py”,第7行,在
从.managers导入FeedManager
文件“C:\Users\Sumit\Desktop\django\network\feed\managers.py”,第3行,在
从.models导入提要
ImportError:无法导入名称提要
为什么会出现此错误?如何修复此错误 您引入了一个循环导入:
模型
模块依赖于管理者
模块,而管理者又依赖于模型
模块
这两个模块都无法解析,因为它们的依赖关系无法解析。尝试重新组织模块。您面临循环导入问题。从
managers.py
文件的顶部删除.models import Feed
,您就可以开始了。无论何时需要模型,都可以将其导入到manager函数本身中。