У меня есть два приложения с именами collection
, accounts
. Оба приложения имеют определенные модели. Я импортирую модель ReporterProfile
из приложения accounts
в collection
. Аналогично, модель Report
из приложения collection
в accounts
.
Модель Report
из приложения collection
вызывается в методе класса модели в приложении accounts
следующим образом:
from collection.models import Report
class ReporterProfile(models.Model):
....
def published_articles_number(self):
num = Report.objects.filter(reporterprofile=self.id).count()
return num
Точно так же я импортирую модели ReporterProfile
и User
из приложения accounts
в модель приложения collection
следующим образом:
from accounts.models import ReporterProfile, User
from <project_name> import settings
class Report(models.Model):
reporterprofile = models.ForeignKey(ReporterProfile, on_delete=models.CASCADE, verbose_name="Report Author")
...
class Comment(models.Model):
report = models.ForeignKey(Report, on_delete=models.CASCADE, related_name='comments')
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, verbose_name="Comment by")
...
При запуске сервера или при выполнении миграции , Я получаю сообщение об ошибке:
Файл «F: \ project_name \ accounts \ models.py», строка 8, в отчете об импорте collection.models
Файл «F: \ project_name \ collection \ models.py», строка 2, в from accounts.models import ReporterProfile, User
ImportError: невозможно импортировать имя 'ReporterProfile' из частично инициализированный модуль accounts.models (скорее всего, из-за циклического импорта) (F: \ project_name \ accounts \ models.py)
Я думаю, что ошибка возникает из-за неправильного шаблона импорта. Что мне делать?