Products · Product
SQLAlchemy
Raised as a usability problem by 39 people on Hacker News over 17 years (2009–2025), in 32 threads.
No issue was raised by at least 3 people in 3 threads this year.
No issue was raised by at least 3 people in 3 threads in the last 5 years.
Every issue, all time, most people first
Too much documentation makes it hard to get things doneUnreviewed
20092026- Overwhelmingly complex API and messy docs that are hard to read2023-01-27
- Too much documentation to read, making it hard to get things done2019-04-01
- Users must trawl through documentation to figure out how to do basic things2018-09-01
Single-page docs with overloaded names make methods hard to locateUnreviewed
20092026- Docs are hard to navigate; key tips buried in asides across pages2023-01-27
- Single-page docs with overloaded names make methods hard to locate2021-06-18
- Docs put everything on one page, making it unclear which class's method is shown2018-03-23
Unreviewed issues were grouped by machine: Claude Haiku labelled each comment as a usability complaint, named what it's about and summed up the problem in a line, and a small model grouped similar problems. Nobody has checked them by hand. Expect mistakes.
The newest 46 complaints
- ORM objects trigger many hidden queries pulling unnecessary data2025-12-23
- Author must check docs for every query, so it is hard to use casually2025-12-14
- Extra manual steps for saves and aggregates, must manage sessions and think in SQL2025-08-07
- Hard to find which operations to use, and in what order, for queries2025-05-08
- Author finds the SQLAlchemy documentation nearly impossible to understand2025-01-07
- ORM builders produce poor queries and hidden lazy-loading N+1 queries that are hard to predict2024-08-29
- ORM hid a duplicate key constraint, so finding the root cause took five days2024-06-09
- Syntax is hard to remember, so the author always has to look things up2024-06-09
- Quickstart is hard to follow; concepts like sessions and engines appear without introduction2023-01-30
- Couldn't find the docs; 'library' link unclear and hidden behind a version click2023-01-27
- Docs links are tiny and mislabeled as library, so people can't find documentation2023-01-27
- Docs links are tiny and the menu labels docs as "library", so users struggle to find them2023-01-27
- Couldn't tell the 'library' link leads to documentation until clicking a version2023-01-27
- Overwhelmingly complex API and messy docs that are hard to read2023-01-27
- API is non-intuitive, hard to follow, with many ways to do one thing2023-01-27
- Query API is hard to follow and documentation is hard to learn from2023-01-27
- Docs are hard to navigate; key tips buried in asides across pages2023-01-27
- Too many ORM declaration styles, confusing and hard to find matching examples2023-01-27
- Single-page docs with overloaded names make methods hard to locate2021-06-18
- Things that are trivial in SQL need workarounds when the abstraction doesn't behave as expected2021-03-17
- Doing a basic join takes hunting through three different ways to find the right one2021-02-18
- Multiple overlapping ways to query; dict output needs weird hacks2020-08-06
- Join inference is magical and hard to see or override when it goes wrong2019-09-04
- Can't work out how to express queries that are easy in plain SQL2019-05-07
- Too much documentation to read, making it hard to get things done2019-04-01
- Users must trawl through documentation to figure out how to do basic things2018-09-01
- Docs put everything on one page, making it unclear which class's method is shown2018-03-23
- Query DSL feels confusing, and lazy loading behavior is unpredictable and opaque2017-12-18
- Causes grief and frustration, and users get cross when doing non-trivial tasks2017-12-18
- Obtuse, verbose and difficult to use for common everyday tasks2017-07-03
- Generates horrific SQL that slows everything down and causes deadlocks2017-06-29
- Docs show window functions only for Expression Language, not for the ORM2016-07-02
- Count() silently returns 0 because it counts the first column, not rows2016-06-13
- Documentation omits the two object types, forcing trial and error to learn2016-06-11
- Documentation is hard to traverse and search, and the library is unintuitive2016-06-10
- Query builder API is magical and very hard to reason about2016-05-14
- Lazy loading hides a query per record until performance collapses2015-03-11
- Expression interface is hard to work with, and documentation is weak2014-04-17
- Every data change needs manual commit or rollback, plus session expiry handling, cluttering code2014-03-13
- Developers struggle with simple tasks as relationships grow complex; ORM blocks enforcing rules2014-02-27
- Magic parameters like desc in order_by are hard to discover and use without checking docs2013-07-12
- Using SQLAlchemy alongside Django is a pain, with confusing dual query styles and hard debugging2013-02-13
- Recursive query syntax in SQLAlchemy is overly verbose2012-06-28
- Quoted commenter finds SQLAlchemy basically unusable without the declarative base style2011-10-19
- Splitting one table definition into table, model and mapping classes is confusing and unnecessary2011-10-19
- Hard to find the right API call; wrong calling convention causes obscure errors deep inside the library2009-10-01