---
url: "https://vueda.dev/v3/reference/api/js/use/useDetailView/types/DetailViewOptions.md"
title: "DetailViewOptions"
---

# DetailViewOptions

## Overview

Required identification.

## Properties

### app {#app}

Django app label that owns the model.

Type: `string`

Source: `client/lib/use/useDetailView.js:80`

### calculatedObjectRules {#calculatedObjectRules}

Rules for deriving calculated objects alongside the instance.

Optional form overrides.

Type: `object`

Source: `client/lib/use/useDetailView.js:88`

### expand {#expand}

Relations that the form renders as inline fieldsets. Replaces the model config list.

Type: `string[]`

Source: `client/lib/use/useDetailView.js:94`

### expandDetails {#expandDetails}

Map of expand paths to detail overrides.

Type: `any`

Source: `client/lib/use/useDetailView.js:95`

### fetchFields {#fetchFields}

Field names to request from the API; overrides the model config default when non-empty.

Type: `string[]`

Source: `client/lib/use/useDetailView.js:86`

### fieldComponents {#fieldComponents}

Map of field paths to field component overrides.

Type: `any`

Source: `client/lib/use/useDetailView.js:96`

### fieldDetails {#fieldDetails}

Map of field paths to field detail overrides.

Type: `any`

Source: `client/lib/use/useDetailView.js:93`

### fieldProps {#fieldProps}

Map of field paths to props for each field component.

Type: `any`

Source: `client/lib/use/useDetailView.js:98`

### fields {#fields}

Field names that the form renders. Replaces the model config list.

Type: `string[]`

Source: `client/lib/use/useDetailView.js:92`

### formModelVariant {#formModelVariant}

Theme variant that the FormModel component receives as `variant`.

Type: `string`

Source: `client/lib/use/useDetailView.js:100`

### formProps {#formProps}

Extra props for the FormModel component. They win over the model config's `formProps` and lose to the form props below. The `app`, `model`, and `view` keys are ignored, because the view sets them.

Type: `any`

Source: `client/lib/use/useDetailView.js:91`

### model {#model}

Django model name.

Type: `string`

Source: `client/lib/use/useDetailView.js:81`

### objectForm {#objectForm}

The `useObjectForm` result; used to suppress re-fetching during submission and to surface submit errors.

Type: `object`

Source: `client/lib/use/useDetailView.js:104`

### pk {#pk}

Primary key of the instance to fetch.

Optional data-fetching overrides.

Type: `string`

Source: `client/lib/use/useDetailView.js:83`

### primaryActions {#primaryActions}

Detail-level action names promoted to the filled hero CTA; defaults to `["update"]`.

Optional submit state (needed when the view has a submit button, e.g. update).

Type: `string[]`

Source: `client/lib/use/useDetailView.js:101`

### relatedObjectRules {#relatedObjectRules}

Rules for fetching related objects alongside the instance.

Type: `object`

Source: `client/lib/use/useDetailView.js:87`

### viewName {#viewName}

View identifier used to load model config and build the form ID (e.g. `"read"` or `"update"`).

Type: `string`

Source: `client/lib/use/useDetailView.js:82`

### widgetComponents {#widgetComponents}

Map of field paths to widget component overrides.

Type: `any`

Source: `client/lib/use/useDetailView.js:97`

### widgetProps {#widgetProps}

Map of field paths to props for each widget component.

Type: `any`

Source: `client/lib/use/useDetailView.js:99`

## Source

`client/lib/use/useDetailView.js:77`
