Как стать автором
Обновить

Комментарии 16

Как раз недавно сталкивался с ограничениями джанговского ORM, который нельзя нормально юзать в асинхронных функциях - приходится делать обёртки из sync_to_async. Тогда подумалось - есть же ведь асинхронные ORM, так может их попробовать юзать вместо джанговского? Интересно, какие будут подводные камни и сработает ли такое вообще.

НЛО прилетело и опубликовало эту надпись здесь

Потому что основные концепции в django orm, например,тесамые__атрибуты__исвязи,никак не завязаны на синхронный или асинхронный способ выполнения кода

И, как мы знаем, SQLAlchemy - это не асинхронный фреймворк, его асинхронный экстеншн очень и очень своеобразен

У меня сложилось ощущение, что FastAPI это новый мэйнстрим. Django уже походу умирает.

P.S. Я пока еще не успел поработать с FastAPI

А зачем тогда собственно Django?

В джанге много приятных мелочей, которые удобны и хорошо работают.

Хмык, а в следующем месяце, в декабре, официальная версия между прочим выходит с поддержкой асинхронной ORM. Django 4

Глянул только что релиз, не нашёл там ничего про асинхронную орм

Как минимум подключения к кешируемым NoSQL базам данным уже в следующем релизе, а вот ORM похоже позже ток будет, перенесли увы эти планы.

>>> Cache

  • The new async API for django.core.cache.backends.base.BaseCache begins the process of making cache backends async-compatible. The new async methods all have a prefixed names, e.g. aadd()aget()aset()aget_or_set(), or adelete_many().

    Going forward, the a prefix will be used for async variants of methods generally.

Названия, конечно, странные

aadd, почему не add_async или async_add? Это в питоне так принято?

А откуда инфа про асинк ORM? Я не смог найти про это в release notes.

цитата со страницы про Async Support:

>>> We’re still working on async support for the ORM and other parts of Django. You can expect to see this in future releases. For now, you can use the sync_to_async() adapter to interact with the sync parts of Django. There is also a whole range of async-native Python libraries that you can integrate with.

Похоже нам это примерно в 4.1+ ожидать ток

В release notes это сложно найти. Как я написал в начале статьи, об async orm даже речи не идёт, чтобы её делать. Вот это последние подвижки, которые были в этом направлении https://github.com/django/django/pull/14843. Что же касается этого проекта, то несомненно асинхронный джанго очень нужен тем, кто его уже использует, а для меня полезное упражнение и галочка в портфолио

Moscow Python уже обсудили ассинхронный Django.

Он не нужен.

Админка удобная

FastAPI плюс орм не орм sql монга что хочешь (для монги вот сам велосипед попиливаю https://github.com/AntonOvsyannikov/pymotyc). Пора ветерану на заслуженную пенсию. С другой стороны в мире кровавого ентерпрайза (внезапно это не только ява) — Django стандарт де факто.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории