6 ms·
It's worth pointing out that the ASGI support in this release is very low level, and doesn't let you write async views or anything yet. We're still working on t
by andrewgodwin 7y ago
It's worth pointing out that the ASGI support in this release is very low level, and doesn't let you write async views or anything yet. We're still working on that.
- petters 7y agoThanks for your work on this. If I am willing to hack a bit, is it possible? What is the main obstacle? Is it all middleware?
- m_ke 7y agoAndrew gave a recent talk about it here https://www.youtube.com/watch?v=d9BAUBEyFgM https://www.youtube.com/watch?v=d9BAUBEyFgM middleware is a part of it, then there's the ORM, caching and anything else that does IO.
- mattrp 7y agoIf you’re in the hacking mode - what do you think of taking the Django orm and grafting it onto fast api - sort of like a stand-alone sqlalchemy but with all the ease and power or django’s querysets...
- m_ke 7y agoDjango ORM is not async so using it with FastAPI would block the event loop. I guess you could wrap the calls in sync_to_async from asgiref but it wouldn't be pretty. Another option is using something like Tom Christie's orm project (https://github.com/encode/orm https://github.com/encode/orm), which is a wrapper on top of sqlachemy with a django like interface.
- Ramiuz 7y agoThanks for the info. I'll probably start fiddling with Django again, it has sure been a while for me. Also, thank you and all the contributors for such amazing resource.
- vonseel 7y ago> Note that as a side-effect of this change, Django is now aware of asynchronous event loops and will block you calling code marked as “async unsafe” - such as ORM operations - from an asynchronous context. Am I correct to understand this as meaning async views can’t even read from the database yet? I guess the only use cases for ASGI views currently would be interacting with outside-Django backends that implement async support and such?