My Django -Проект использует три приложения, chat, user, sowi
. Каждое приложение, имеющее модели, структурировано следующим образом. Я получаю сообщение об ошибке при запуске сервера, я думаю, это потому, что у меня есть круговой импорт. Как мне решить эту проблему?
chat / models.py
from user.models import User
class Chat(models.Model):
name = models.CharField(max_length=100, default="private")
class Message(models.Model):
sender = models.ForeignKey(User, on_delete=models.CASCADE)
receiver = models.ForeignKey(Chat, on_delete=models.CASCADE)
user / models.py
from chat.models import Chat
from sowi.models import Sowi
class User(AbstractUser):
chats = models.ManyToManyField(Chat, blank=True)
subscriptions = models.ManyToManyField(Sowi, related_name="subscriptions", blank=True)
memberships = models.ManyToManyField(Sowi, related_name="memberships", blank=True)
blocked = models.ManyToManyField("self", related_name="blocked", blank=True)
sowi / models.py
from chat.models import Chat, Message
from user.models import User
class Sowi(models.Model):
owner = models.ForeignKey(User, on_delete=models.CASCADE)
chat = models.OneToOneField(Chat, blank=True, null=True, on_delete=models.CASCADE)
Сообщение об ошибке :
File "*/sowi/models.py", line 9, in <module>
from chat.models import Chat, Message
File "*/chat/models.py", line 4, in <module>
from user.models import User
File "*/user/models.py", line 5, in <module>
from chat.models import Chat
ImportError: cannot import name 'Chat' from 'chat.models'
Заранее спасибо!