May 14, 2026 · by Test
Why Drizzle ORM feels like SQL
Drizzle's design philosophy and how it compares to the Django ORM.
Django's ORM hides SQL behind a clean Python API: User.objects.filter(email="a@b.com").first(). It's expressive but sometimes magical.
Drizzle takes the opposite approach. Every query looks like SQL: db.select().from(users).where(eq(users.email, "a@b.com")). The mental model maps 1:1 to the database, which makes debugging dramatically easier.
The tradeoff is verbosity — Drizzle is more typing for simple queries. But for complex queries with joins and aggregations, Drizzle wins by being predictable. You always know what SQL will be generated.