upvote
> I’ve never seen a commercial project use it in my twenty years in the field.

This is very surprising to me considering some of the largest sites in the world are built on Django. Instagram, Pinterest, for instance. Large parts of stripe and Robinhood are implemented with Django. Eventbrite, bitbucket. I believe even Sentry is.

All commercial products.

reply
In Instagram's case, they do not use the ORM or Admin, and have an internal fork of the request handling/middleware stack that is 100% async (before the recent async bits were added to Django)[1].

It's great that Django's API design allowed them to move this way easily, but they aren't actually using Django in the traditional sense because it can't handle their scale.

I've found that with the Django ORM and DRF especially, it's very easy to create a poorly performing app by following the established patterns (N+1 queries being a huge problem created by DRF serializers). You need to be extremely diligent to create something performant in this ecosystem. Not every dev team has Armin Ronacher :P

Where I work we found this exhausting, and moved on to FastAPI and ASP.NET. We make our queries much more explicit using tools like Dapper, and now a senior engineer can have a much better idea how a particular route will perform just by reading the code (obviously, we still do some profiling).

[1]: https://djangochat.com/episodes/django-instagram-carl-meyer

reply
It looks like the next release of Django will take seriious strides to solve a lot of the n+1 headaches, https://docs.djangoproject.com/en/dev/releases/6.1/#model-fi....

Also, I doubt solving Instagram-level scale issues is on the top ten list of concerns for this project. Just getting something out there and gaining users is way more important than solving far future scaling issues.

reply
Sentry is indeed, and is open source and self-hostable: https://github.com/getsentry/sentry

It’s a pretty large app (I think >1M lines of Python). I ran a self hosted version for several years and found it performant and pretty easy to keep running and updated.

reply
> stripe

Stripe has always been a Ruby-heavy company.

reply
Django must be more popular than Rails in the EU these days. Most Django devs have never used Go or Node and have never heard about Bun. Django is in the category of battle-tested frameworks that are very boring and easy to get things done with.
reply
Does node or Go have a full-stack framework with any real usage? Those languages seem to have people that like piecing together libraries than using frameworks. Other languages all offer popular frameworks; Ruby on Rails, Java Spring, PHP Laravel, ASP.Net.
reply
The modern approach is to have a node-based fullstack framework like Next, SvelteKit or Astro, plus backend API services.

I’m afraid i am one of those people :)

reply
They are full-stack but not complete frameworks like the other. Where is the ORMs, authentication, form handling, etc? Will your bespoke choices hold up in 10 years?
reply
Bun is a very recent and thus unstable and immature project.

It has also been acquired by Anthropic recently.

Does not look like a great choice.

reply
Django is boring in a best possible way. Rather than spending six months setting up a bunch of microservices, you spend couple weeks on Django and ship a working product. Built in admin dashboard for example is a godsend at small scale.
reply
or now you spend couple of hours/days with AI and produce a Rust implementation that will smoke Django 100X
reply
Instagram uses it as their main backend. They have hundreds of million of daily users. Some of the critical backend services are in C++.
reply
Depends on your definition of "use." They use an internal async fork, and don't use the ORM: https://djangochat.com/episodes/django-instagram-carl-meyer
reply