Re:Show HN: Oxyde – Pydantic-native async ORM with a Rust core
by TZubiri on Monday March 16, 2026 @06:51PM
(#47406092)
Didn't the committee agree that ORMs were a mistale and a thing of the past?
[ Parent
| on HN ]
Re:Show HN: Oxyde – Pydantic-native async ORM with a Rust core
by mr_Fatalyst on Monday March 16, 2026 @06:59PM
(#47406201)
Must have missed that meeting. ORMs are not for everything, but for CRUD-heavy apps with validation they save a lot of boilerplate. And there's always execute_raw() for when you need to go off-script.
Re:Show HN: Oxyde – Pydantic-native async ORM with a Rust core
by TZubiri on Monday March 16, 2026 @08:23PM
(#47406972)
If there's an Open Source application that you can show me as a good example of ORM usage, I'd be interested in seeing it as a steelman argument for them.
Re:Show HN: Oxyde – Pydantic-native async ORM with a Rust core
by abybaddi009 on Monday March 16, 2026 @10:50PM
(#47407993)
Here's OpenEdx extensively using ORM: https://github.com/openedx/openedx-platform
Re:Show HN: Oxyde – Pydantic-native async ORM with a Rust core
by mr_Fatalyst on Monday March 16, 2026 @09:02PM
(#47407294)
For Oxyde specifically, it's still a young project, so the best public examples I have are the FastAPI tutorial (https://github.com/mr-fatalyst/fastapi-oxyde-example) and the admin panel examples (https://github.com/mr-fatalyst/oxyde-admin). Bigger real-world showcases will come with time. But in general, ORMs pay for themselves when you have lots of models, relations, and standard CRUD with validation. The moment you hand-write the same INSERT/UPDATE/SELECT with joins for every endpoint, it adds up fast.
Re:Show HN: Oxyde – Pydantic-native async ORM with a Rust core
by zamalek on Monday March 16, 2026 @07:12PM
(#47406345)
Micro-orms (mapping to parameters and from columns) are generally fine last i read. It is the general aversion to writing a SELECT that is suspect.
Re:Show HN: Oxyde – Pydantic-native async ORM with a Rust core
by fhub on Monday March 16, 2026 @09:17PM
(#47407403)
Where ORMs are clearly weak is in generating suboptimal queries and making it too easy to create N+1 issues. My first introduction to ORMs was Ruby on Rails. You would rely on New Relic to identify performance issues and then fix them.
With solid AGENTS.md / CLAUDE.md, I do not think this would happen as much anymore in new code. So then it is just a matter of style preference (ORM vs whatever else).
Re:Show HN: Oxyde – Pydantic-native async ORM with a Rust core
by mr_Fatalyst on Tuesday March 17, 2026 @05:15AM
(#47410257)
That's exactly why Oxyde has no lazy loading at all. If you don't call .join() or .prefetch(), related data simply won't be there. N+1 is impossible by design, not by discipline.