# vodoo model

Generic CRUD operations for any Odoo model. Useful for ad-hoc queries and models not covered by the domain-specific commands.

<!-- This file is auto-generated by scripts/gen_cli_docs.py. Do not edit manually. -->

## Commands

### create

Create a new record in any model.

Examples:
    vodoo model create product.template name="My Product" list_price=29.99

    vodoo model create res.partner name="John Doe" email=john@example.com

    vodoo model create project.task name="New Task" project_id=10

**Arguments:**

| Argument | Type | Description |
|----------|------|-------------|
| `model` | TEXT | Model name (e.g., product.template) |
| `fields` | TEXT | Field assignments in format 'field=value' |

### read

Read record(s) from any model.

Examples:
    # Read specific record
    vodoo model read product.template 42

    # Search records
    vodoo model read product.template --domain='[["list_price",">","20.00"]]'

    # With specific fields
    vodoo model read res.partner --field name --field email --limit 10

**Arguments:**

| Argument | Type | Description |
|----------|------|-------------|
| `model` | TEXT | Model name |
| `record_id` | INT | Record ID (optional) |

**Options:**

| Option | Type | Description |
|--------|------|-------------|
| `--domain` | TEXT | Search domain as JSON string |
| `--field` / `-f` | TEXT | Fields to fetch |
| `--limit` | INT | Maximum number of records (default: 50) |

### update

Update a record in any model.

HTML fields automatically convert markdown to HTML.

Examples:
    vodoo model update product.template 42 list_price=39.99 active=true

    vodoo model update res.partner 123 name="Jane Doe" phone="+1234567890"

**Arguments:**

| Argument | Type | Description |
|----------|------|-------------|
| `model` | TEXT | Model name |
| `record_id` | INT | Record ID |
| `fields` | TEXT | Field assignments in format 'field=value' |

**Options:**

| Option | Type | Description |
|--------|------|-------------|
| `--no-markdown` | BOOL | Disable markdown to HTML conversion for HTML fields |

### delete

Delete a record from any model.

Examples:
    vodoo model delete product.template 42

**Arguments:**

| Argument | Type | Description |
|----------|------|-------------|
| `model` | TEXT | Model name |
| `record_id` | INT | Record ID |

### call

Call a method on a model.

Examples:
    vodoo model call res.partner name_search --args '["John"]'
    vodoo model call res.partner search --kwargs '{"domain": [["name", "ilike", "acme"]]}'

**Arguments:**

| Argument | Type | Description |
|----------|------|-------------|
| `model` | TEXT | Model name |
| `method` | TEXT | Method to call |

**Options:**

| Option | Type | Description |
|--------|------|-------------|
| `--args` | TEXT | JSON array of arguments (default: []) |
| `--kwargs` | TEXT | JSON object of kwargs (default: {}) |

