SavedView
Saved filter/column preset for a ListView.
Indie mode: created by users via Desk UI, stored in DB.Enterprise mode: defined in TOML/YAML fixture files under saved_views/shipped with the app, resolved by VirtualSavedViewResolver.DB record always wins over a virtual fixture (tenant override pattern).Source: saved_view.py
Fields
Section titled “Fields”| Field | Type | Required | Description | Validators |
|---|---|---|---|---|
| name | str | ✓ | Unique identifier/slug for the saved view (e.g., ‘open_invoices’) | minLen: 1, maxLen: 255 |
| label | None | Human-readable display label (e.g., ‘Open Invoices – Asia’) | maxLen: 255 | |
| doctype_target | str | ✓ | The DocType this view targets (e.g., ‘Invoice’) | minLen: 1, maxLen: 255 |
| filters | str | JSON-encoded list of FilterRow objects | - | |
| columns | None | JSON-encoded list of visible field names | - | |
| order_by | None | Ordering specification (e.g., ‘-creation’) | maxLen: 255 | |
| is_public | bool | If true, visible to all users with read access to the target DocType. If false, only visible to the owner. | - |
Permissions
Section titled “Permissions”| Role | Create | Delete | Read | Write |
|---|---|---|---|---|
| Admin | ✓ | ✓ | ✓ | ✓ |
| Employee | ✓ | ✓ | ||
| Manager | ✓ | ✓ | ✓ | ✓ |
Configuration
Section titled “Configuration”| Setting | Value |
|---|---|
| Submittable | False |
| Track Changes | True |
Controller
Section titled “Controller”Controller hooks are implemented in *_controller.py files.
Available lifecycle hooks:
validate()- Called before save, raise exceptions for validation errorsbefore_insert()- Called before inserting a new documentafter_insert()- Called after successfully insertingbefore_save()- Called before saving (insert or update)after_save()- Called after savingbefore_delete()- Called before deletingafter_delete()- Called after deleting