May 14, 2026 · by Test

Why Drizzle ORM feels like SQL

Drizzle's design philosophy and how it compares to the Django ORM.

Why Drizzle ORM feels like SQL
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.