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

Scroll to Top