|
@@ -104,7 +104,7 @@ The base serializer is used to represent the default view of a model. This inclu
|
|
|
}
|
|
}
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
-Related objects (e.g. `ForeignKey` fields) are represented using a nested serializer. A nested serializer provides a minimal representation of an object, including only its URL and enough information to construct its name. When performing write api actions (`POST`, `PUT`, and `PATCH`), any `ForeignKey` relationships do not use the nested serializer, instead you will pass just the integer ID of the related model.
|
|
|
|
|
|
|
+Related objects (e.g. `ForeignKey` fields) are represented using a nested serializer. A nested serializer provides a minimal representation of an object, including only its URL and enough information to construct its name. When performing write api actions (`POST`, `PUT`, and `PATCH`), any `ForeignKey` relationships do not use the nested serializer, instead you will pass just the integer ID of the related model.
|
|
|
|
|
|
|
|
When a base serializer includes one or more nested serializers, the hierarchical structure precludes it from being used for write operations. Thus, a flat representation of an object may be provided using a writable serializer. This serializer includes only raw database values and is not typically used for retrieval, except as part of the response to the creation or updating of an object.
|
|
When a base serializer includes one or more nested serializers, the hierarchical structure precludes it from being used for write operations. Thus, a flat representation of an object may be provided using a writable serializer. This serializer includes only raw database values and is not typically used for retrieval, except as part of the response to the creation or updating of an object.
|
|
|
|
|
|
|
@@ -122,6 +122,52 @@ When a base serializer includes one or more nested serializers, the hierarchical
|
|
|
}
|
|
}
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
|
|
+## Brief Format
|
|
|
|
|
+
|
|
|
|
|
+Most API endpoints support an optional "brief" format, which returns only a minimal representation of each object in the response. This is useful when you need only a list of the objects themselves without any related data, such as when populating a drop-down list in a form.
|
|
|
|
|
+
|
|
|
|
|
+For example, the default (complete) format of an IP address looks like this:
|
|
|
|
|
+
|
|
|
|
|
+```
|
|
|
|
|
+GET /api/ipam/prefixes/13980/
|
|
|
|
|
+
|
|
|
|
|
+{
|
|
|
|
|
+ "id": 13980,
|
|
|
|
|
+ "family": 4,
|
|
|
|
|
+ "prefix": "192.0.2.0/24",
|
|
|
|
|
+ "site": null,
|
|
|
|
|
+ "vrf": null,
|
|
|
|
|
+ "tenant": null,
|
|
|
|
|
+ "vlan": null,
|
|
|
|
|
+ "status": {
|
|
|
|
|
+ "value": 1,
|
|
|
|
|
+ "label": "Active"
|
|
|
|
|
+ },
|
|
|
|
|
+ "role": null,
|
|
|
|
|
+ "is_pool": false,
|
|
|
|
|
+ "description": "",
|
|
|
|
|
+ "tags": [],
|
|
|
|
|
+ "custom_fields": {},
|
|
|
|
|
+ "created": "2018-12-11",
|
|
|
|
|
+ "last_updated": "2018-12-11T16:27:55.073174-05:00"
|
|
|
|
|
+}
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+The brief format is much more terse, but includes a link to the object's full representation:
|
|
|
|
|
+
|
|
|
|
|
+```
|
|
|
|
|
+GET /api/ipam/prefixes/13980/?brief=1
|
|
|
|
|
+
|
|
|
|
|
+{
|
|
|
|
|
+ "id": 13980,
|
|
|
|
|
+ "url": "https://netbox/api/ipam/prefixes/13980/",
|
|
|
|
|
+ "family": 4,
|
|
|
|
|
+ "prefix": "192.0.2.0/24"
|
|
|
|
|
+}
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+The brief format is supported for both lists and individual objects.
|
|
|
|
|
+
|
|
|
## Static Choice Fields
|
|
## Static Choice Fields
|
|
|
|
|
|
|
|
Some model fields, such as the `status` field in the above example, utilize static integers corresponding to static choices. The available choices can be retrieved from the read-only `_choices` endpoint within each app. A specific `model:field` tuple may optionally be specified in the URL.
|
|
Some model fields, such as the `status` field in the above example, utilize static integers corresponding to static choices. The available choices can be retrieved from the read-only `_choices` endpoint within each app. A specific `model:field` tuple may optionally be specified in the URL.
|