Hacker ApprovedDepartments

SQLAlchemy

Ranked 2 of 11 ORMs by recommenders

Recommended as a flexible Python SQL toolkit and ORM for developers who know SQL. Critics find it complicated and its lazy loading surprising.

Recommended as a flexible Python SQL toolkit and ORM for developers who know SQL. Critics find it complicated and its lazy loading surprising.

61 people gave an opinion

recommend it
33
criticize it
28
approval share
54%
Each figure is one person. RecommendsCriticizes

Recommended in 11 of 13 months

  1. November 2025: recommended
  2. December 2025: recommended
  3. January 2026: recommended
  4. February 2026: recommended
  5. March 2026: recommended
  6. April 2026: recommended
  7. May 2026: recommended
  8. June 2026: recommended
  9. July 2026: recommended
  10. August 2026: recommended
  11. September 2026: not recommended
  12. October 2026: recommended
  13. November 2026: not recommended (month in progress)

Why it doesn’t carry the badge

  • 33 people recommend itNeeds 10 or more, met.
  • 1.1 recommenders for every criticNeeds 2 to 1 or better, not met.
  • Recommended in 11 of 13 monthsNeeds 4 or more, met.

The same three rules apply to every product, and the badge can’t be bought. How the badge works

What people say about it

The reasons people give, with the number of comments that give each one. Open a reason to read what they said.

Why people recommend it

Each mark is one comment

  • Precise control over generated SQL

    “Alchemy's strong point is "here's an existing database; let users who grok DB theory query it as efficiently and ergonomically as possible."”

    Comment from 16 Mar 2026 in “Show HN: Oxyde – Pydantic-native async ORM with a Rust core”

    “I am 100% sure what SQL do I want it to produce and what SQL will a particular ORM invocation produce.”

    Comment from 4 Jul 2026 in “What ORMs have taught me: just learn SQL (2014)”

    “at no point were we married to it, you could generate your query any which way you please”

    Comment from 12 Oct 2026 in “SQLAlchemy 2.1.0 Released”
  • Query builder usable without ORM

    “at no point were we married to it, you could generate your query any which way you please”

    Comment from 12 Oct 2026 in “SQLAlchemy 2.1.0 Released”

    “SQLAlchemy has an eDSL of SQL, so you can skip the whole ORM/table mapping layer”

    Comment from 25 Oct 2026 in “Show HN: Farol – A risk map of a pull request for the person who approves it”

    “Yeah, you can use SQLAlchemy like this. It's called the data mapper pattern.”

    Comment from 5 Jul 2026 in “What ORMs have taught me: just learn SQL (2014)”
  • Capable with a strong toolchain

    “Alchemy is the greatest thing in the world when you need its exact features.”

    Comment from 5 Feb 2026 in “AI Is Killing B2B SaaS”

    “SQLAlchemy is undeniably the superior and far more capable ORM”

    Comment from 10 Dec 2025 in “Django: what’s new in 6.0”

    “sqlalchemy and alembic is a great toolchain outside of django”

    Comment from 26 Jul 2026 in “Some more things about Django I've been enjoying”

What people warn about

Each mark is one comment

  • Complicated API and messy code

    “kludgy as it tries to translate SQL into a new language”

    Comment from 28 Nov 2025 in “Python is not a great language for data science”

    “I once tried using SqlAlchemy but I couldn't help asking myself why it felt so complicated compared to Django.”

    Comment from 26 Jul 2026 in “Some more things about Django I've been enjoying”

    “What function signature isn't going to look messy with 36 keyword arguments.”

    Comment from 9 Jun 2026 in “Are you expected to run five Python type-checkers now?”
  • Lazy loading causes surprises

    “So many things just don't really work in this world, like old-school lazy fetching in SQLAlchemy.”

    Comment from 8 Jun 2026 in “Learn PHP in 2026 (Yes, Really)”

    “undisciplined (in terms of perf and cost) new ORM code being deployed (SQLAlchemy)”

    Comment from 30 Nov 2025 in “You want microservices, but do you need them?”

    “they're always lazy, so you never really know when the N+1s are going to happen”

    Comment from 22 Dec 2025 in “The Rise of SQL:the second programming language everyone needs to know”
  • Compared unfavorably with Django's ORM

    “Lol I never knew django orm is faster than SQLAlchemy. But having used both that makes sense.”

    Comment from 13 Mar 2026 in “Show HN: Oxyde – Pydantic-native async ORM with a Rust core”

    “the ORM blows SQLAlchemy out of the water, in terms of being able to produce quality software, quickly”

    Comment from 6 Dec 2025 in “Django 6”

    “I prefer a Django-like ORM to SQLAlchemy in spite of all the praises it gets”

    Comment from 15 Nov 2025 in “Blending SQL and Python with Sqlorm”
  • Plain SQL is simpler

    “I can guarantee that someone equipped with a good foundation in SQL will be more successful debugging a Sequelize based application, than someone who has relied on SQLAlchemy”

    Comment from 22 Feb 2026 in “Postgres Is Your Friend. ORM Is Not”

    “Every time I use them I think to myself it would be easier to just write SQL myself”

    Comment from 7 Feb 2026 in “Software Engineering Is Back”

Other ORMs people recommend

The four most recommended other ORMs, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.

SQLAlchemy compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
Entity Framework Core351965%12——
SQLAlchemyThis page332854%11——
Drizzle ORM25681%10—Approved
Dapper19386%7—Approved
Oxyde ORM18386%2——
See all 11 ORMs, ranked

What people said

40 of the 66 comments that mention it, newest first. Each links to the original comment.

“SQLAlchemy has an eDSL of SQL, so you can skip the whole ORM/table mapping layer”

RecommendsComment from 25 Oct 2026 in “Show HN: Farol – A risk map of a pull request for the person who approves it”

“at no point were we married to it, you could generate your query any which way you please”

RecommendsComment from 12 Oct 2026 in “SQLAlchemy 2.1.0 Released”

“As a user I just don't have to deal with most of its complexity on a day to day basis”

MixedComment from 12 Oct 2026 in “SQLAlchemy 2.1.0 Released”

“It gives you a lot in return.”

RecommendsComment from 12 Oct 2026 in “SQLAlchemy 2.1.0 Released”

“you realize you needed SQLA or some similar piece of tech all along”

RecommendsComment from 11 Oct 2026 in “SQLAlchemy 2.1.0 Released”

“get rid of all of my workarounds that add or remove”

RecommendsComment from 11 Oct 2026 in “SQLAlchemy 2.1.0 Released”

“make SQL more reusable/composable”

RecommendsComment from 30 Aug 2026 in “A better SQL in 11 lines of code”

“sqlalchemy and alembic is a great toolchain outside of django”

RecommendsComment from 26 Jul 2026 in “Some more things about Django I've been enjoying”

“I once tried using SqlAlchemy but I couldn't help asking myself why it felt so complicated compared to Django.”

CriticizesComment from 26 Jul 2026 in “Some more things about Django I've been enjoying”

“SQLAlchemy vs hand rolled SQL and mapping the results it’s not even close.”

RecommendsComment from 5 Jul 2026 in “What ORMs have taught me: just learn SQL (2014)”

“they are both there for you for your highs (select * from table order by created at) and your lows”

RecommendsComment from 5 Jul 2026 in “What ORMs have taught me: just learn SQL (2014)”

“Yeah, you can use SQLAlchemy like this. It's called the data mapper pattern.”

RecommendsComment from 5 Jul 2026 in “What ORMs have taught me: just learn SQL (2014)”

“I am 100% sure what SQL do I want it to produce and what SQL will a particular ORM invocation produce.”

RecommendsComment from 4 Jul 2026 in “What ORMs have taught me: just learn SQL (2014)”

“I do use a very small subset of SQLAlchemy (the bits I understand) in data pipelines.”

MixedComment from 4 Jul 2026 in “What ORMs have taught me: just learn SQL (2014)”

“What function signature isn't going to look messy with 36 keyword arguments.”

CriticizesComment from 9 Jun 2026 in “Are you expected to run five Python type-checkers now?”

“It's probably hard to come up with something messier than SqlAlchemy here.”

CriticizesComment from 8 Jun 2026 in “Are you expected to run five Python type-checkers now?”

“So many things just don't really work in this world, like old-school lazy fetching in SQLAlchemy.”

CriticizesComment from 8 Jun 2026 in “Learn PHP in 2026 (Yes, Really)”

“The main value I get from sqlalchemy is parsing the result into useful structures.”

MixedComment from 1 May 2026 in “Postgres's lateral joins allow for quite the good eDSL”

“You don't need an ORM for any of that, just a query builder.”

RecommendsComment from 30 Apr 2026 in “Postgres's lateral joins allow for quite the good eDSL”

“i've bounced between django and sqlalchemy”

MixedComment from 17 Mar 2026 in “Show HN: Oxyde – Pydantic-native async ORM with a Rust core”

“With SQLAlchemy approach I can easily find all usages of a particular column everywhere.”

RecommendsComment from 17 Mar 2026 in “Show HN: Oxyde – Pydantic-native async ORM with a Rust core”

“I insist on using SQLAlchemy for db models”

RecommendsComment from 16 Mar 2026 in “Show HN: Oxyde – Pydantic-native async ORM with a Rust core”

“Alchemy's strong point is "here's an existing database; let users who grok DB theory query it as efficiently and ergonomically as possible."”

RecommendsComment from 16 Mar 2026 in “Show HN: Oxyde – Pydantic-native async ORM with a Rust core”

“Lol I never knew django orm is faster than SQLAlchemy. But having used both that makes sense.”

MixedComment from 13 Mar 2026 in “Show HN: Oxyde – Pydantic-native async ORM with a Rust core”

“I can guarantee that someone equipped with a good foundation in SQL will be more successful debugging a Sequelize based application, than someone who has relied on SQLAlchemy”

CriticizesComment from 22 Feb 2026 in “Postgres Is Your Friend. ORM Is Not”

“Every time I use them I think to myself it would be easier to just write SQL myself”

CriticizesComment from 7 Feb 2026 in “Software Engineering Is Back”

“Alchemy is the greatest thing in the world when you need its exact features.”

RecommendsComment from 5 Feb 2026 in “AI Is Killing B2B SaaS”

“sqlalchemy is better in every possible way”

RecommendsComment from 29 Jan 2026 in “Notes on Starting to Use Django”

“it started as an sql alchemy and pandas service”

MixedComment from 3 Jan 2026 in “Python Numbers Every Programmer Should Know”

“they're always lazy, so you never really know when the N+1s are going to happen”

CriticizesComment from 22 Dec 2025 in “The Rise of SQL:the second programming language everyone needs to know”

“Sqlalchemy is a good example.”

RecommendsComment from 11 Dec 2025 in “Programmers and software developers lost the plot on naming their tools”

“SQLAlchemy is undeniably the superior and far more capable ORM”

MixedComment from 10 Dec 2025 in “Django: what’s new in 6.0”

“the ORM blows SQLAlchemy out of the water, in terms of being able to produce quality software, quickly”

CriticizesComment from 6 Dec 2025 in “Django 6”

“I end up with a little more boilerplate”

MixedComment from 4 Dec 2025 in “Django 6”

“undisciplined (in terms of perf and cost) new ORM code being deployed (SQLAlchemy)”

CriticizesComment from 30 Nov 2025 in “You want microservices, but do you need them?”

“kludgy as it tries to translate SQL into a new language”

MixedComment from 28 Nov 2025 in “Python is not a great language for data science”

“I prefer a Django-like ORM to SQLAlchemy in spite of all the praises it gets”

CriticizesComment from 15 Nov 2025 in “Blending SQL and Python with Sqlorm”

“The SQLAlchemy integration looks interesting, but at the same time super specific.”

MixedComment from 14 Nov 2025 in “RegreSQL: Regression Testing for PostgreSQL Queries”

“SQL alchemy seems to be getting better.”

MixedComment from 6 Nov 2025 in “Why we migrated from Python to Node.js”

“I would still pick FastAPI/SQLAlchemy over Express and PostHog.”

RecommendsComment from 3 Nov 2025 in “Why we migrated from Python to Node.js”

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.