Comment by gonational
3 months ago
I see a lot of people in here talking about the "batteries included" aspect of Django, as if that's where it really shines. those batteries are definitely helpful, but the biggest benefit, by far, is the absolute best ORM in existence.
If somebody were to reproduce the Django ORM, with full native asynchronous support, it would change Python forever. I know there are people who come from SQLAlchemy and swear by it. As somebody who has used both I can tell you, at least when working with a small team on enterprise software, the ORM blows SQLAlchemy out of the water, in terms of being able to produce quality software, quickly.
For anyone new out there thinking about using FastAPI... don't. You'll find 1 million people on the Internet happy to tell you that it's terrific, and 90% of these people have not built real software. The performance gains are lost, by double when you attempt to build real real software with it. I've worked with it in three different apps, and in all three cases it was used because the front end team insisted that all we needed was REST. In all three cases I have seen page load times that are slower than the 90s, 3 to 10 seconds or more before everything is done on the page. It's actually unbelievable to me that that is the direction a lot of Python backend development has gone in, relegating all the important logic, and, in a lot of cases, security, to frontend niceties.
This x1000.
I’ve tried every orm in node and nothing compares to Django orm. The way you can scaffold an apps data models is amazing.
Yeah it's crazy, people use Django and they think the things that are making them productive are all these little contribs and built-ins, but the reality is it's the solid foundation that is the ORM. BTW, I discovered after writing my comment that tortoise ORM is essentially Django ORM, but written on asyncpg, making it way faster. So, if you're stuck in some other non-Django framework and would like to use the Django ORM, that's probably your closest bet.