# Django ORM

15 Hacker News commenters recommended Django ORM and 6 criticized it, November 2025 to November 2026. It was recommended in 8 of 13 months. It meets the Hacker Approved badge rule.

**Verdict:** Praised for a powerful, extensible query API and pragmatic design; critics say raw performance is not its strength and generated SQL is hard to control.

## Why people recommend it

- Powerful, extensible query API (3 comments): "the django ORM is fairly easy to extend, it's not like it was written as one big blob" ([source](https://news.ycombinator.com/item?id=47119209)) "the API is actually pretty pragmatic and allows easy extension." ([source](https://news.ycombinator.com/item?id=46796433)) "a memorable and powerful query API" ([source](https://news.ycombinator.com/item?id=48704742))
- Better than SQLAlchemy for many (2 comments): "Lol I never knew django orm is faster than SQLAlchemy. But having used both that makes sense." ([source](https://news.ycombinator.com/item?id=47364542)) "I prefer a Django-like ORM to SQLAlchemy" ([source](https://news.ycombinator.com/item?id=45938753))
- Solid foundation for data layers (2 comments): "the reality is it's the solid foundation that is the ORM" ([source](https://news.ycombinator.com/item?id=46326678)) "The way you can scaffold an apps data models is amazing." ([source](https://news.ycombinator.com/item?id=46170129))
- Great at what it does (2 comments): "it's great at what it does" ([source](https://news.ycombinator.com/item?id=47406232)) "I do enjoy the Django ORM" ([source](https://news.ycombinator.com/item?id=48786470))

## What people warn about

- Hard-to-read syntax and lookups (2 comments): "I find those double underscore kwargs weird too, and would prefer to simply pass a lambda instead." ([source](https://news.ycombinator.com/item?id=49194750)) "the syntax is just not nice to read" ([source](https://news.ycombinator.com/item?id=49195573))
- Generated queries hard to control (3 comments): "the teams I was on would write queries in SQL and then spend the rest of the day trying to make the ORM reproduce it" ([source](https://news.ycombinator.com/item?id=46179763)) "fixing the queries which usually originate from Django ORM is a bit hit or miss" ([source](https://news.ycombinator.com/item?id=48460598)) "These "any db" abstractions just make for the worst query patterns." ([source](https://news.ycombinator.com/item?id=46358339))

## Alternatives hackers recommend

- [Entity Framework Core](https://hackerapproved.com/p/entity-framework-core.md): 35 recommend
- [SQLAlchemy](https://hackerapproved.com/p/sqlalchemy.md): 33 recommend
- [Drizzle ORM](https://hackerapproved.com/p/drizzle-orm.md): 25 recommend
- [Dapper](https://hackerapproved.com/p/dapper.md): 19 recommend
- [Oxyde ORM](https://hackerapproved.com/p/oxyde.md): 18 recommend

## Cite as

Hacker Approved, "Django ORM", https://hackerapproved.com/p/django-orm/ (counts from 1,795,640 Hacker News comments, November 2025 to November 2026).
