приложение и подключил к ней джангу, т.к. мне понравилась в ней админка. Чтобы поддерживать асинхроный интерфейс, я многие классы и функции подгоняю под асинковый формат
И настала проблема) Допустим в тех же сигналах на модели БД я не могу взять и просто вызвать асинхроную функцию, приходится использовать asyncio.run(). И с таким я в дальнейшем начал сталкиваться много где, т.е. вызывая через asyncio.run()
Это вообще нормальная практика такая? Мне очень уж не хочется переписывать под синхронный интерфейс, т.к. мне эта асинхронка нужна будет для другого приложения. Джангу я лишь подключил, чтобы была служебная админка
Подключать джангу так себе затея. Джанга - специфический монолит. Если ты ее берешь, то строишь все вокруг нее, а не используешь как доп модуль
Ну, если точнее, аиограм и джанга. Aiogram в себе использует полностью асинхронный интерфейс, и допустим через админку хочу боту установить вебхук, вот и приходится обращаться к асинхроному фетчеру) А этот же фетчер нужен и для бота
Поэтому, сложновато как-то получилось связывать) Я думал джанга будет проще)
Видел пример из книги, как её в слой инфраструктуры впихивали и строили DI
Если ты уже писал без джанги, то выкинь её
Ну тогда не будет готовой админки джанговской) Или придется посмотреть другие решения, не выбирать саму джангу
Джанги 😄 Ну кроме алхимии
У джанги же опять, готовая орм, что упрощает работу в разы
Ты писал на aiogram без джанги, но юзал Django ORM?
Алхимия — готовая ОРМ, не приваренная к джанге. ;-)
Бот в процессе разработки. Просто мне надо было служебную панель и в дальнейшем я планировал использовать ОРМ джанги. Пока вот остановился на создание бота в системе, на чём и начал ловить приколы
А, ну если ещё в процессе, окей
Читал про сигналы документацию? Версия какая?
4-ая джанга. Читал конечно)
на каких-то форумах писали про поддержку асинхронных функций, но глядя под капотом декоратора, он обращается с ней как с синхнронной функцией
Почитай может натолкнет на идеи. https://copyprogramming.com/howto/is-django-post-save-signal-asynchronous
И да есть ещё sync to async, on_commit внутри сигнала или запуск сигналом таски в очередь.
если тебе тупо нужна админка, в чем проблема запустить джангу и отьебаться от нее?) зачем тащить асинхронное приложение в джангу, сделай их раздельными джанго админка если очень упростить ui для бдшки ж просто
ну..., я хотел связать приложение с ОРМ джанговской + админка. В частности с ОРМ я увидел поддержку асинхронных вызовов asave и adelete вроде как, да и переписать через декоратор sync_to_async можно большинство функций. Поэтому, посчитал нормальной затеей это делать
я вообще нашел какой-то сайт со всякими тулами для фастапи, можешь перейду на другой фрейм, пока не поздно) Рассмотрю там админки https://project-awesome.org/mjhea0/awesome-fastapi#admin
ты наверное не очень понимаешь что делаешь и зачем
Норм. С 5 версии ещё больше асинка будет
Где почитать?
Обсуждают сегодня