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 Tips

Scroll to Top