The post is a love letter to Django as a mature web framework that has kept its core promises for years. It praises the usual strengths that made Django sticky in the first place: built-in admin, migrations, strong docs, sane defaults, and a framework that evolves carefully instead of forcing periodic rewrites. That landed with a lot of people who have old codebases still upgrading cleanly across major versions, which is a rare claim in web development.
The useful signal was less about nostalgia and more about where Django still earns its keep. Several people said the boring parts are exactly the point. Django lets small teams ship
CRUD-heavy products, internal tools, and
B2B back offices fast. The admin alone can close a deal or unblock operations early. Others described using Django only for the pieces it does unusually well, like schema migrations and admin, while exposing APIs or performance-critical paths from Rust or other services against the same database.
The sharpest criticism focused on the
ORM and the freedom Django gives developers. Commenters who dislike it see the
Active Record style as the framework's core footgun. Queries can happen almost anywhere, relations are easy to traverse, and lazy loading makes
N+1 mistakes too easy to ship. In bigger systems that turns into invisible coupling, hard-to-track breakage during schema changes, and model methods or managers stuffed with business logic. Defenders pushed back that this is mostly a team discipline problem, not a framework defect. Django gives you escape hatches like
raw SQL, eager loading tools like
select_related and
prefetch_related, and enough flexibility to add service layers or swap in
SQLAlchemy if you want a different architecture. The more grounded takeaway was that Django optimizes for productive adults, not hard rails. That feels great on strong teams and dangerous on weak ones.
A few narrower points stood out. Django's conservative evolution got almost universal praise. Signals divided people for the same reason as the ORM. They can decouple medium-sized systems well, but they also create hidden side effects unless kept small and paired with task queues like
Celery.
Async support and deployment ergonomics drew some complaints, especially from people comparing Django with lighter
API-first stacks or serverless-friendly setups. But even there, the tone stayed pragmatic. Django is not fashionable, but it is durable. For teams that want to ship software and keep shipping it five or ten years later, that still counts for a lot.