ImportError: Нет модуля с именем модели? - PullRequest
3 голосов
/ 21 июля 2011

Я использую Django, и я продолжаю получать эту ошибку для моего группового приложения, я проверил все свои настройки импорта, и все в порядке.Мои приложения для регистрации и профиля работают без проблем, но почему это приложение дает мне ошибку ImportError для моделей?

Traceback (most recent call last):
  File "manage.py", line 14, in <module>
    execute_manager(settings)
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/__init__.py", line 438, in execute_manager
    utility.execute()
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/__init__.py", line 379, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 191, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 219, in execute
    self.validate()
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 249, in validate
    num_errors = get_validation_errors(s, app)
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/validation.py", line 36, in get_validation_errors
    for (app_name, error) in get_app_errors().items():
  File "/usr/local/lib/python2.6/dist-packages/django/db/models/loading.py", line 146, in get_app_errors
    self._populate()
  File "/usr/local/lib/python2.6/dist-packages/django/db/models/loading.py", line 64, in _populate
    self.load_app(app_name)
  File "/usr/local/lib/python2.6/dist-packages/django/db/models/loading.py", line 78, in load_app
    models = import_module('.models', app_name)
  File "/usr/local/lib/python2.6/dist-packages/django/utils/importlib.py", line 35, in import_module
    __import__(name)
  File "/home/gladiator/django_projects/classes/groups/models.py", line 6, in <module>
    from groups.shortcuts import build_filename
  File "/home/gladiator/django_projects/classes/groups/groups.py", line 5, in <module>
  File "/home/gladiator/django_projects/classes/groups/decorators.py", line 2, in <module>
    from groups.models import Group, GroupMember
ImportError: No module named models

Ответы [ 3 ]

8 голосов
/ 21 июля 2011

Потому что он думает, что вы ссылаетесь на groups.py в том же каталоге. Включить абсолютный импорт .

3 голосов
/ 25 марта 2013

У меня такая же проблема. Решение было так просто, как

from __future__ import absolute_import

намекнул Игнасио

0 голосов
/ 21 июля 2011

Просто предположение, но импортирует ли ваш файл models.py группы или декораторы?Если это так, у вас есть круговая зависимость.Вам нужно переместить импорт в одном из файлов на уровень функции.

...