Проблема импорта модели в потребителя django Websockets

Я хочу написать потребитель для приложения, однако после импорта модели Device приложение даже не хочет запускаться, выдает ошибку, что не может найти настройки приложения.

# consumers.py
import json
from channels.generic.websocket import AsyncWebsocketConsumer
# from devices.models import Device

class DeviceConsumer(AsyncWebsocketConsumer):
    async def connect(self):
        self.device_id = self.scope['url_route']['kwargs']['device_id']
        print(self.device_id)
        await self.accept()

    async def disconnect(self, close_code):
        await self.close()

    async def receive(self, text_data):
        text_data_json = json.loads(text_data)
        message = text_data_json['message']
        print(message)
        await self.send(text_data=json.dumps({'message': message}))

А вот модели устройства и пользователя:

from django.db import models
from users.models import User
from core.base.utils import generate_uuid


class Device(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    name = models.CharField(max_length=255)
    device_key = models.CharField(max_length=255, unique=True, default=generate_uuid)
    is_active = models.BooleanField(default=True)

    def __str__(self):
        return self.name
from django.db import models
from django.contrib.auth.models import AbstractUser
from django.utils.timezone import now
from django.utils.translation import gettext_lazy as _


class User(AbstractUser):
    first_name = models.CharField(_("first_name "), max_length=60, blank=False)
    last_name = models.CharField(_("last_name "), max_length=60, blank=False)
    username = models.CharField(_("username"), max_length=60, unique=True)
    email = models.EmailField(_("email address"), max_length=255, blank=False, unique=True)
    is_staff = models.BooleanField(
        _("is staff"),
        default=False,
        help_text=_("Determines whether the user can log in to this administrative site."),
    )
    is_active = models.BooleanField(
        _("is active"),
        default=True,
        help_text=_(
            "Indicates whether this user should be considered active." 
"Uncheck this box instead of deleting accounts."
        ),
    )
    date_joined = models.DateTimeField(_("дата создания"), default=now)

    USERNAME_FIELD = "username"
    EMAIL_FIELD = "email"
    REQUIRED_FIELDS = ["first_name", "last_name", "email"]


    def __str__(self):
        return f"{self.first_name} {self.last_name} ({self.username}) {self.email}"


    class Meta:
        verbose_name = _("user")
        verbose_name_plural = _("users")
        db_table = "users"

В чем может быть проблема? Мне нужно использовать устройство в потребителе. Я перепробовал все, что предлагал Интернет для решения этой ошибки...

Ошибка, возникающая при добавлении импорта:

Хотя все настройки присутствуют на месте....

Проблема заключается в импорте модуля настроек. Если у вас все в порядке, проверьте, запустив shell

python manage.py shell

then

from django.conf import settings
print(settings.INSTALLED_APPS)

Если вы столкнулись с ошибкой, проверьте структуру проекта еще раз:

backend/
core/
    __init__.py
    settings.py
    asgi.py
    urls.py
devices/
    models.py
    consumers.py
users/
    models.py

Надеюсь, вы настроили «core.settings» в файле asgi.py

Вернуться на верх