У меня проблемы с импортом моделей между моими приложениями в моем текущем проекте django. При попытке запустить сервер dev или синхронизировать базу данных я получаю сообщение об ошибке:
File "/path/to/Project/../Project/app1/models.py", line 3, in <module>
class SomeModel(Thing):
NameError: name 'Thing' is not defined
Вещи определены в Project / main / models.py , которые я импортирую в Project / app1 / models.py через:
from project.main.models import Thing
Мне известно, что такого рода вещи могут быть результатом того, что python предотвращает циклический импорт.
В настоящее время у меня есть три приложения django: main, app1, app2
Импорт для каждого приложения выглядит следующим образом:
главный:
from project.app1.models import AnotherThing
app1:
from project.main.models import Thing
app2:
from project.main.models import Thing
from project.app1 import Something
Я подозреваю, что проблема заключается в импорте моделей из приложения app1 в app2, поскольку оба эти приложения импортируют модели из main, который, в свою очередь, импортирует модели из app1 и т. Д.
Если это так, - какие еще методы я могу использовать для достижения того же эффекта, что и при импорте?
Есть ли более приемлемый способ организации вещей, чтобы я не столкнулся с этим?