Пересек импорт в Джанго - PullRequest
3 голосов
/ 02 июня 2010

Например, у меня есть 2 приложения: альфа и бета в альфа / models.py импорт модели из beta.models и в бета / models.py импорт модели из alpha.models

manage.py validate говорит, что ImportError: невозможно импортировать имя ModelName

как решить эту проблему?

1 Ответ

7 голосов
/ 05 июня 2010

У меня была эта проблема в прошлом, есть две модели, которые ссылаются друг на друга, то есть используют поле ForeignKey. Существует простой способ справиться с этим, согласно документации Django :

Если вам нужно создать связь на модели, которая еще не была определена, вы можете использовать имя модели, а не сам объект модели:

Итак, в вашей бета-версии / models.py модель будет выглядеть так:

class BetaModel(models.Model):
    alpha = models.ForeignKey('alpha.AlphaModel')
    ...

На этом этапе импорт из alpha.models не требуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...