Python Odoo Development
Python Odoo Development Syllabus
Module 1: Introduction to Odoo
- What is Odoo? Architecture overview
● Editions: Community vs Enterprise
● Odoo Modules: Structure & Types
● ORM Basics, Framework Layers
● Running Odoo Server (odoo-bin, config)
● Installing Odoo from Source
Module 2: Odoo Module Structure & Basics
- Creating Custom Module: manifest, __init__.py, __manifest__.py
● Folder Structure
● Models (models.py)
● Views: Tree, Form, Kanban, Search (XML)
● Menus, Actions, Security Groups
● Installation & Upgrade
Module 3: Odoo ORM & Models
- Field Types (Char, Int, Boolean, etc.)
● Relational Fields (Many2one, One2many, Many2many)
● Field Attributes
● ORM CRUD Operations
● Domain Filters, Compute Fields
● Onchange, Constraints
Module 4: Views & UI Development
- View Types: Tree, Form, Kanban, Calendar
● Inheriting Views (XPath)
● Actions: Window, Server
● Statusbars, Tabs, Widgets
● QWeb for UI, Filters, Group-by
Module 5: Business Logic in Python
- Inheriting Models (_inherit)
● Overriding ORM Methods
● Decorators: @api.model, @api.onchange, etc.
● Recordsets & self.env
● Calling Models
Module 6: Security & Access Control
- ACLs
● Record Rules
● Security Best Practices
● Field-Level Security
Module 7: Advanced Views & QWeb Templates
- Custom QWeb Templates
● Portal, Website Templates
● Reports: PDF/Excel
● Template Inheritance
● Python-bound Buttons
Module 8: Workflows & Automation
- Automated Actions
● Cron Jobs
● Sequences
● Mail Templates
Module 9: Web Controllers & APIs
- HTTP Controllers (@http.route)
● JSON/REST APIs
● Integrating External APIs
Module 10: Debugging & Performance
● Logs & Debugging
● Debug UI Mode
● Performance Tuning Tip