odoo-model

Guide Odoo model development across v17–v19 with fields, domains, and migrations.

1|1|Updated Apr 12, 2026
One-click install
npx skills add https://github.com/halim-23/odoo-dev-plugin --skill odoo-model
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: odoo-model
Source: https://github.com/halim-23/odoo-dev-plugin/tree/main/skills/odoo-model
Command: npx skills add https://github.com/halim-23/odoo-dev-plugin --skill odoo-model

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Expert Odoo model development knowledge spanning v17, v18 and v19 (Community & Enterprise), including handling deprecations, migrations, and evolving ORM patterns to help developers build robust, future-proof models.

Core Features & Use Cases

  • Version-aware guidance on fields, compute/inverse, domain construction, and inheritance.
  • Concrete examples showing changes across v16→v17→v18→v19, including name_get, display_name, tracking, precompute, Domain AST, and _inherits.
  • Practical recipes for cross-version migrations, data integrity, and best practices in ORM design.

Quick Start

Ask for best-practice guidance on implementing an Odoo model across v17–v19, including fields, computed stored fields, domains, and migrations.

Frequently Asked Questions about odoo-model

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I migrate Odoo models from v16 to v17 and v18?

Odoo model migrations across v16 to v19 require replacing deprecated methods like name_get, updating track_visibility to tracking, and adopting the Domain AST syntax for forward compatibility.

What changed with computed fields and store/precompute in Odoo v17?

Odoo computed fields in v17 and later versions use the precompute parameter to optimize database writes during record creation, working alongside the standard store attribute to cache values efficiently.

Does Odoo v17 support the old name_get method or do I need display_name?

Odoo v17 and v18 deprecate the name_get method in favor of automated display_name computation, requiring developers to override the compute_display_name method to customize record display values.

What is the best way to construct advanced domains using Domain AST in Odoo?

Domain AST in Odoo v17 to v19 provides an abstract syntax tree approach for building complex domain filters, replacing older string-based domain expressions with structured, reliable ORM queries.

How does inheritance work with _inherits across Odoo v17 and v19?

The _inherits mechanism across Odoo v17 to v19 supports delegation inheritance, linking parent models via foreign keys while maintaining data integrity and field availability in both Community and Enterprise editions.

Why should I update track_visibility to tracking in Odoo model fields?

Updating track_visibility to tracking in Odoo v17 to v19 aligns model fields with current ORM best practices, resolving deprecation warnings and ensuring proper chatter message tracking during migrations.