Přejít na obsah
Událost Odoo Connect 2025 začíná v 4. 9. 2025 6:00:00 (US/Pacific)
Understanding the Odoo ORM: A Roadmap from RDBMS to Odoo
Partner Developer Day
Poloha: Treasure Island, Pier 27 - First Floor - 05.09.25 11:00 - 05.09.25 11:30 (US/Pacific) (30 minut)
Understanding the Odoo ORM: A Roadmap from RDBMS to Odoo
Raphael Lee
Technical Architect v Open Source Integrators
Raphael Lee
Technical Architect v Open Source Integrators

Raphael Lee is a Technical Architect at Open Source Integrators. With over a decade in IT, and six years of focus on open source integration projects, he has helped organizations design and deliver robust, scalable solutions with Odoo as the centerpiece. Raphael’s passion lies in solving puzzles with no obvious solution — connecting the dots where others see roadblocks, and turning business needs into seamless technical workflows. Raphael holds Odoo certifications for every version from 13 through 18, and brings deep technical expertise in data analysis and visualization, and integrations with complex middleware layers and eCommerce platforms.


1. Introduction – Setting Expectations (2 minutes)
- Brief personal intro (optional)
- Goal of the talk: demystify the Odoo ORM for SQL-savvy developers
2. Understanding Odoo’s Architecture – It’s Not Just a DB Interface (3 minutes)
- Key point: Odoo is a full-stack Python application, not a DB frontend
- The PostgreSQL database is backend storage, not the main actor
- The ORM is a layer that interprets class definitions, method logic, and metadata into DB structure and behavior
- Emphasis: data is just one piece—business logic lives in Python
3. First Hurdle: Learning Python and Class-Based Logic (3 minutes)
- Python basics needed: classes and inheritance
- Every Odoo model is a Python class (via models.Model), and (almost) every class is a DB table
- Explain key concepts: fields, methods
- Contrast with writing direct SQL
4. Second Hurdle: Discovering and Inheriting Odoo Logic (4 minutes)
- "Where" should your customization be added
- Working with existing Odoo code
- Demonstrate how developer mode helps uncover field names, view origins, button handlers
- Show example: clicking a button → what to look for in the UI → where to look in code
5. How to Implement: Finding and Copying Existing Patterns (4 minutes)
- "How" should your customization be added
- Your best tools: the Odoo source code and OCA modules
- Show example of tracing a workflow and customizing it
- Emphasize “pattern matching” approach: see it done → adapt for your case
- Mention that Odoo uses conventions—leverage them
6. Resources & Tools to Deepen Understanding (2 minutes)
- Books: Odoo Development Essentials, Odoo Developer Cookbook
- OCA repos: community-driven, standards-based, real-world examples
- Development environment:
- Run Odoo from terminal with breakpoints (e.g. pdb)
- Use odoo shell for interactive inspection
7. Final Takeaways and Mindset Shift (2 minutes)
- SQL is solid ground—but Odoo’s power is in the logic layer, not the DB layer
- Think in classes and behaviors, not just rows and joins
- The hardest part often is not writing the code, it’s knowing where and how to plug it in
- Final advice: be curious, explore code, and lean on the community