Enabling Developer Mode
# Method 1: URL
# Add ?debug=1 to any Odoo URL:
https://your-odoo.com/web?debug=1
# Method 2: Settings
# Settings → scroll to bottom → Activate Developer Mode
# Method 3: With Assets (for JS debugging)
https://your-odoo.com/web?debug=assets
# This prevents JS/CSS minification for easier debugging1. Technical Menu
Developer mode reveals Settings → Technical with access to: sequences, scheduled actions, email templates, system parameters, views, actions, menus, and models. This is where all configuration lives.
2. Edit Any View
# With dev mode on:
# Open any form/list → Debug menu (bug icon) → Edit View: Form
# See the raw XML of the view
# Make live changes (careful in production!)
# See which module defines the view3. View Record Metadata
# Debug menu → View Metadata
# Shows:
# - Internal ID (database ID)
# - XML ID (External ID)
# - Created by / Created on
# - Last modified by / Last modified on
# - No Access Rules (which rules apply)4. Field Technical Info
# Hover over any field label → tooltip shows:
# - Technical name (e.g., partner_id)
# - Field type (Many2one)
# - Related model (res.partner)
# - Stored / Computed
# - Required / Readonly
# Click the field info → shows full technical details5. Access Technical Models
# Settings → Technical gives access to:
# - Database Structure → Models (browse all models)
# - Database Structure → Fields (browse all fields)
# - User Interface → Views (all views)
# - User Interface → Menu Items (all menus)
# - Actions → Actions (all actions)
# - Sequences → Sequences (all sequences)
# - Email → Templates (all email templates)
# - Parameters → System Parameters (ir.config_parameter)6. Run Server Actions
# Settings → Technical → Server Actions
# Create a server action with Python code
# Execute it immediately for one-off tasks
# Useful for: data fixes, mass updates, testing7. Debug Scheduled Actions
# Settings → Technical → Scheduled Actions
# See: last run time, next run time, active status
# Click "Run Manually" to test a cron
# Check interval and number of calls remaining8. View SQL from ORM
# In odoo.conf, set:
log_level = debug_sql
# This logs EVERY SQL query Odoo executes
# Useful for finding N+1 queries and slow operations
# WARNING: extremely verbose — only use for short debugging sessions9. Profiling Mode
# Odoo 17+: built-in profiler
# Debug menu → Start Profiling
# Navigate the slow page
# Debug menu → Stop Profiling
# View: query count, execution time, call stack
# Or via URL:
https://your-odoo.com/web?debug=1&profile=110. Access Logging
# Settings → Technical → Logging
# View ir.logging entries
# Shows: errors, warnings, and debug messages
# Filter by: module, level, date11. Translate Any Term
# With dev mode:
# Debug menu → Edit Translation
# See all translatable terms for the current view
# Fix translations without editing PO files12. Set Default Values
# With dev mode:
# Open any form → fill in the value you want as default
# Debug menu → Set Defaults
# Choose: for all users or just yourself
# Field: select which field to set default for
# The value becomes the default for new records13. View Record Rules
# Debug menu → View Access Rules
# Shows which ir.rule records apply to the current model
# Shows the domain filter for each rule
# Essential for debugging AccessError14. Export Field List
# Settings → Technical → Database Structure → Models
# Select a model → view all fields with:
# - Field name, type, string
# - Stored, required, readonly
# - Compute method
# - Related field path
# Export to Excel for documentation15. Odoo Shell
# Not in the UI but the most powerful debug tool:
python odoo-bin shell -d dbname -c /etc/odoo/odoo.conf
# Full Python shell with access to env:
>>> partners = env['res.partner'].search([], limit=5)
>>> for p in partners:
... print(p.name, p.email)
>>> # Fix data
>>> order = env['sale.order'].browse(42)
>>> order.action_confirm()
>>> env.cr.commit()Safety Warning
Developer mode exposes sensitive technical operations. In production: use it for debugging only, never make permanent view changes through the UI, and disable it when done. Grant developer mode access only to administrators.
DeployMonkey
DeployMonkey's AI agent provides developer-mode-level diagnostics without needing to enable dev mode. Ask it to inspect fields, check access rules, or debug errors — it queries the technical data directly.