2016-05-29 5 views
2

У меня есть два файла в одной папке (приложении) feed.Ошибка импорта в django

models.py

from django.db import models 
from .managers import FeedManager 

class Feed(models.Model): 
    #fields for my model 

managers.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 

Почему я получаю эту ошибку и как я исправить это?

+2

Вы столкнулись с проблемой кругового импорта. Удалите «.models import Feed» из верхней части вашего файла 'manager.py', и вам будет хорошо идти. Всякий раз, когда вам нужна модель, вы можете импортировать ее внутри самой функции менеджера. –

ответ

4

Вы вводите введенный круглый импорт: модуль models зависит от модуля managers, который, в свою очередь, зависит от модуля models.

Ни один из модулей не может быть разрешен, так как их зависимость не может быть разрешена. Попробуйте переустановить модули.

Смежные вопросы