__manifest__.py, XML/CSV loading, record/function tags, noupdate | core-module-structure-and-data |
recordsets, _inherit, _inherits, reserved fields, constraint/index attrs | core-orm-models-recordsets |
computed/related fields, @api.depends, @api.onchange, @api.constrains, @api.model_create_multi, @api.private | core-fields-and-decorators |
domains, search_fetch, _read_group, raw SQL, SQL(...), flushing, cache invalidation, modified(...) | core-domains-sql-and-cache |
ACL CSVs, record rules, sudo, field groups=, RPC exposure, SQL injection, safe_eval, escaping HTML | core-security-acl-and-rules |
action dicts, ir.actions.server, ir.cron, _commit_progress | features-actions-and-cron |
Python controllers, @route, request env, controller inheritance | features-controllers-and-http |
external integrations, bearer-key JSON-2, /json/2, legacy XML-RPC / JSON-RPC execute_kw | features-external-api-and-rpc |
QWeb PDF/HTML reports, paper formats, custom _get_report_values, report assets/fonts | features-qweb-reports |
mail.thread, aliases, activities, common backend mixins | features-common-mixins |
TransactionCase, HttpCase, Form, --test-tags, tours, query-count assertions | testing-backend-and-tours |
| profiling, batching, prefetch, query budgets, indexes | performance-profiling-and-batching |
| final review pass, Odoo 19 deltas, common regressions | best-practices-odoo-19-backend |