2010-06-02 6 views
3

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

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

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

+3

Возможный дубликат [Django App Dependency Cycle] (http://stackoverflow.com/questions/895454/django-app-dependency-cycle) –

+0

hm, действительно как проблема – Kuhtraphalji

ответ

7

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

If you need to create a relationship on a model that has not yet been defined, you can use the name of the model, rather than the model object itself:

Так что в вашем бета/models.py модели, вы бы это:

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

На данный момент импорт из альфа .models не требуется.

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