Мне было трудно собирать базу данных с помощью syncdb на Python2.5.
Я думаю, что часть этой проблемы из-за использования подстановочного знака * для импорта forum.models, кажется, что это создает цикл.
>>> import settings
>>> from forum.managers import QuestionManager, TagManager, AnswerManager, VoteManager, FlaggedItemManager, ReputeManager, AwardManager
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/username/webapps/username/sousvide_app/forum/managers.py", line 6, in <module>
from forum.models import *
File "/home/username/webapps/username/sousvide_app/forum/models.py", line 18, in <module>
from forum.managers import QuestionManager, TagManager, AnswerManager, VoteManager, FlaggedItemManager, ReputeManager, AwardManager
ImportError: cannot import name QuestionManager
>>> from forum.models import Question, Tag
>>> from forum.managers import QuestionManager, TagManager, AnswerManager, VoteManager, FlaggedItemManager, ReputeManager, AwardManager
>>> import sys, pprint
>>> pprint.pprint(sys.path)
['/home/username/webapps/username/sousvide_app',
'/home/username/webapps/username/lib/python2.5',
'/home/username/lib/python2.5/markdown2-1.0.1.16-py2.5.egg',
'/home/username/lib/python2.5/html5lib-0.11.1-py2.5.egg',
'/home/username/lib/python2.5',
'/usr/local/lib/python25.zip',
'/usr/local/lib/python2.5',
'/usr/local/lib/python2.5/plat-linux2',
'/usr/local/lib/python2.5/lib-tk',
'/usr/local/lib/python2.5/lib-dynload',
'/usr/local/lib/python2.5/site-packages',
'/usr/local/lib/python2.5/site-packages/PIL']
>>> from settings import INSTALLED_APPS
>>> pprint.pprint(INSTALLED_APPS)
('sousvide_app.forum',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'django.contrib.humanize',
'django_authopenid')
У меня была такая же проблема в другой установке, которую я смог исправить, явно импортировав менеджеров из forum.managers.
Как видите, если я загружаю модели вопросов и тегов в пространство имен, я могу импортировать менеджеры в оболочке.
Я сделал импорт с forum.models * явный:
с forum.models import вопрос, тег
Однако я все еще не могу синхронизировать. Когда я пытаюсь вывести SQL, приложение не может быть найдено.
$ python2.5 manage.py sql forum
Ошибка: приложение с форумом ярлыков не найдено. Вы уверены, что ваша установка INSTALLED_APPS верна?
Кто-нибудь может дать мне представление о том, что происходит не так?
Есть ли что-то в Python2.5, что может способствовать этой ошибке?