Каналы Django и доступ к моделям

Я использую Django 3.2.10 и использую Django Channels с daphne и gunicorn. Я могу заставить мой код вебсокета работать и функционировать без проблем, но когда я получаю доступ к любой из моих моделей django, я сталкиваюсь с проблемой. Я делаю примерно следующее:

async def receive(self):
   modelselected = await database_sync_to_async(self.get_model)()

def get_model(self):
   return MyModel.objects.all()[0]

Когда я делаю это, что предлагает официальная документация, я получаю следующую ошибку от daphne:

daphne | ERROR Исключение внутри приложения: не удалось подключиться к серверу: No such file or directory Работает ли сервер локально и принимает ли он соединения на доменном сокете Unix "/var/run/postgresql/.s.PGSQL.5432"?

Мое приложение Django работает совершенно нормально, и я подключаюсь к базе данных без проблем. Я в растерянности, что я делаю не так. И мой Postgres работает на порту 5432. Есть какие-нибудь мысли?

Разобрался, что было не так. Я использую docker-compose и при создании контейнеров я не поделился переменными DB в окружении сервера daphne. Поскольку я был сосредоточен на вебсокетах, это не возникло, пока я не попытался получить доступ к БД через модель Django. В общем, теперь все хорошо, но я оставлю это здесь на случай, если кто-то был таким же глупым, как и я!

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