mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-24 09:28:38 -06:00
Renamed ChoiceFieldSerializer and ContentTypeFieldSerializer
This commit is contained in:
parent
838af2b2d8
commit
c2416411c1
@ -8,7 +8,7 @@ from circuits.models import Provider, Circuit, CircuitTermination, CircuitType
|
|||||||
from dcim.api.serializers import NestedSiteSerializer, InterfaceSerializer
|
from dcim.api.serializers import NestedSiteSerializer, InterfaceSerializer
|
||||||
from extras.api.customfields import CustomFieldModelSerializer
|
from extras.api.customfields import CustomFieldModelSerializer
|
||||||
from tenancy.api.serializers import NestedTenantSerializer
|
from tenancy.api.serializers import NestedTenantSerializer
|
||||||
from utilities.api import ChoiceFieldSerializer, TagField, ValidatedModelSerializer, WritableNestedSerializer
|
from utilities.api import ChoiceField, TagField, ValidatedModelSerializer, WritableNestedSerializer
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -59,7 +59,7 @@ class NestedCircuitTypeSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
class CircuitSerializer(CustomFieldModelSerializer):
|
class CircuitSerializer(CustomFieldModelSerializer):
|
||||||
provider = NestedProviderSerializer()
|
provider = NestedProviderSerializer()
|
||||||
status = ChoiceFieldSerializer(choices=CIRCUIT_STATUS_CHOICES, required=False)
|
status = ChoiceField(choices=CIRCUIT_STATUS_CHOICES, required=False)
|
||||||
type = NestedCircuitTypeSerializer()
|
type = NestedCircuitTypeSerializer()
|
||||||
tenant = NestedTenantSerializer(required=False, allow_null=True)
|
tenant = NestedTenantSerializer(required=False, allow_null=True)
|
||||||
tags = TagField(queryset=Tag.objects.all(), required=False, many=True)
|
tags = TagField(queryset=Tag.objects.all(), required=False, many=True)
|
||||||
|
@ -20,7 +20,7 @@ from ipam.models import IPAddress, VLAN
|
|||||||
from tenancy.api.serializers import NestedTenantSerializer
|
from tenancy.api.serializers import NestedTenantSerializer
|
||||||
from users.api.serializers import NestedUserSerializer
|
from users.api.serializers import NestedUserSerializer
|
||||||
from utilities.api import (
|
from utilities.api import (
|
||||||
ChoiceFieldSerializer, SerializedPKRelatedField, TagField, TimeZoneField, ValidatedModelSerializer,
|
ChoiceField, SerializedPKRelatedField, TagField, TimeZoneField, ValidatedModelSerializer,
|
||||||
WritableNestedSerializer,
|
WritableNestedSerializer,
|
||||||
)
|
)
|
||||||
from virtualization.models import Cluster
|
from virtualization.models import Cluster
|
||||||
@ -51,7 +51,7 @@ class RegionSerializer(serializers.ModelSerializer):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class SiteSerializer(CustomFieldModelSerializer):
|
class SiteSerializer(CustomFieldModelSerializer):
|
||||||
status = ChoiceFieldSerializer(choices=SITE_STATUS_CHOICES, required=False)
|
status = ChoiceField(choices=SITE_STATUS_CHOICES, required=False)
|
||||||
region = NestedRegionSerializer(required=False, allow_null=True)
|
region = NestedRegionSerializer(required=False, allow_null=True)
|
||||||
tenant = NestedTenantSerializer(required=False, allow_null=True)
|
tenant = NestedTenantSerializer(required=False, allow_null=True)
|
||||||
time_zone = TimeZoneField(required=False)
|
time_zone = TimeZoneField(required=False)
|
||||||
@ -123,8 +123,8 @@ class RackSerializer(CustomFieldModelSerializer):
|
|||||||
group = NestedRackGroupSerializer(required=False, allow_null=True)
|
group = NestedRackGroupSerializer(required=False, allow_null=True)
|
||||||
tenant = NestedTenantSerializer(required=False, allow_null=True)
|
tenant = NestedTenantSerializer(required=False, allow_null=True)
|
||||||
role = NestedRackRoleSerializer(required=False, allow_null=True)
|
role = NestedRackRoleSerializer(required=False, allow_null=True)
|
||||||
type = ChoiceFieldSerializer(choices=RACK_TYPE_CHOICES, required=False)
|
type = ChoiceField(choices=RACK_TYPE_CHOICES, required=False)
|
||||||
width = ChoiceFieldSerializer(choices=RACK_WIDTH_CHOICES, required=False)
|
width = ChoiceField(choices=RACK_WIDTH_CHOICES, required=False)
|
||||||
tags = TagField(queryset=Tag.objects.all(), required=False, many=True)
|
tags = TagField(queryset=Tag.objects.all(), required=False, many=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -222,8 +222,8 @@ class NestedManufacturerSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
class DeviceTypeSerializer(CustomFieldModelSerializer):
|
class DeviceTypeSerializer(CustomFieldModelSerializer):
|
||||||
manufacturer = NestedManufacturerSerializer()
|
manufacturer = NestedManufacturerSerializer()
|
||||||
interface_ordering = ChoiceFieldSerializer(choices=IFACE_ORDERING_CHOICES, required=False)
|
interface_ordering = ChoiceField(choices=IFACE_ORDERING_CHOICES, required=False)
|
||||||
subdevice_role = ChoiceFieldSerializer(choices=SUBDEVICE_ROLE_CHOICES, required=False)
|
subdevice_role = ChoiceField(choices=SUBDEVICE_ROLE_CHOICES, required=False)
|
||||||
instance_count = serializers.IntegerField(source='instances.count', read_only=True)
|
instance_count = serializers.IntegerField(source='instances.count', read_only=True)
|
||||||
tags = TagField(queryset=Tag.objects.all(), required=False, many=True)
|
tags = TagField(queryset=Tag.objects.all(), required=False, many=True)
|
||||||
|
|
||||||
@ -299,7 +299,7 @@ class PowerOutletTemplateSerializer(ValidatedModelSerializer):
|
|||||||
|
|
||||||
class InterfaceTemplateSerializer(ValidatedModelSerializer):
|
class InterfaceTemplateSerializer(ValidatedModelSerializer):
|
||||||
device_type = NestedDeviceTypeSerializer()
|
device_type = NestedDeviceTypeSerializer()
|
||||||
form_factor = ChoiceFieldSerializer(choices=IFACE_FF_CHOICES, required=False)
|
form_factor = ChoiceField(choices=IFACE_FF_CHOICES, required=False)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = InterfaceTemplate
|
model = InterfaceTemplate
|
||||||
@ -396,8 +396,8 @@ class DeviceSerializer(CustomFieldModelSerializer):
|
|||||||
platform = NestedPlatformSerializer(required=False, allow_null=True)
|
platform = NestedPlatformSerializer(required=False, allow_null=True)
|
||||||
site = NestedSiteSerializer()
|
site = NestedSiteSerializer()
|
||||||
rack = NestedRackSerializer(required=False, allow_null=True)
|
rack = NestedRackSerializer(required=False, allow_null=True)
|
||||||
face = ChoiceFieldSerializer(choices=RACK_FACE_CHOICES, required=False)
|
face = ChoiceField(choices=RACK_FACE_CHOICES, required=False)
|
||||||
status = ChoiceFieldSerializer(choices=DEVICE_STATUS_CHOICES, required=False)
|
status = ChoiceField(choices=DEVICE_STATUS_CHOICES, required=False)
|
||||||
primary_ip = DeviceIPAddressSerializer(read_only=True)
|
primary_ip = DeviceIPAddressSerializer(read_only=True)
|
||||||
primary_ip4 = DeviceIPAddressSerializer(required=False, allow_null=True)
|
primary_ip4 = DeviceIPAddressSerializer(required=False, allow_null=True)
|
||||||
primary_ip6 = DeviceIPAddressSerializer(required=False, allow_null=True)
|
primary_ip6 = DeviceIPAddressSerializer(required=False, allow_null=True)
|
||||||
@ -571,12 +571,12 @@ class InterfaceVLANSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
class InterfaceSerializer(ValidatedModelSerializer):
|
class InterfaceSerializer(ValidatedModelSerializer):
|
||||||
device = NestedDeviceSerializer()
|
device = NestedDeviceSerializer()
|
||||||
form_factor = ChoiceFieldSerializer(choices=IFACE_FF_CHOICES, required=False)
|
form_factor = ChoiceField(choices=IFACE_FF_CHOICES, required=False)
|
||||||
lag = NestedInterfaceSerializer(required=False, allow_null=True)
|
lag = NestedInterfaceSerializer(required=False, allow_null=True)
|
||||||
is_connected = serializers.SerializerMethodField(read_only=True)
|
is_connected = serializers.SerializerMethodField(read_only=True)
|
||||||
interface_connection = serializers.SerializerMethodField(read_only=True)
|
interface_connection = serializers.SerializerMethodField(read_only=True)
|
||||||
circuit_termination = InterfaceCircuitTerminationSerializer(read_only=True)
|
circuit_termination = InterfaceCircuitTerminationSerializer(read_only=True)
|
||||||
mode = ChoiceFieldSerializer(choices=IFACE_MODE_CHOICES, required=False)
|
mode = ChoiceField(choices=IFACE_MODE_CHOICES, required=False)
|
||||||
untagged_vlan = InterfaceVLANSerializer(required=False, allow_null=True)
|
untagged_vlan = InterfaceVLANSerializer(required=False, allow_null=True)
|
||||||
tagged_vlans = SerializedPKRelatedField(
|
tagged_vlans = SerializedPKRelatedField(
|
||||||
queryset=VLAN.objects.all(),
|
queryset=VLAN.objects.all(),
|
||||||
@ -684,7 +684,7 @@ class InventoryItemSerializer(ValidatedModelSerializer):
|
|||||||
class InterfaceConnectionSerializer(ValidatedModelSerializer):
|
class InterfaceConnectionSerializer(ValidatedModelSerializer):
|
||||||
interface_a = NestedInterfaceSerializer()
|
interface_a = NestedInterfaceSerializer()
|
||||||
interface_b = NestedInterfaceSerializer()
|
interface_b = NestedInterfaceSerializer()
|
||||||
connection_status = ChoiceFieldSerializer(choices=CONNECTION_STATUS_CHOICES, required=False)
|
connection_status = ChoiceField(choices=CONNECTION_STATUS_CHOICES, required=False)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = InterfaceConnection
|
model = InterfaceConnection
|
||||||
@ -704,7 +704,7 @@ class ContextualInterfaceConnectionSerializer(serializers.ModelSerializer):
|
|||||||
A read-only representation of an InterfaceConnection from the perspective of either of its two connected Interfaces.
|
A read-only representation of an InterfaceConnection from the perspective of either of its two connected Interfaces.
|
||||||
"""
|
"""
|
||||||
interface = serializers.SerializerMethodField(read_only=True)
|
interface = serializers.SerializerMethodField(read_only=True)
|
||||||
connection_status = ChoiceFieldSerializer(choices=CONNECTION_STATUS_CHOICES, read_only=True)
|
connection_status = ChoiceField(choices=CONNECTION_STATUS_CHOICES, read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = InterfaceConnection
|
model = InterfaceConnection
|
||||||
|
@ -16,7 +16,7 @@ from extras.constants import *
|
|||||||
from tenancy.api.serializers import NestedTenantSerializer, NestedTenantGroupSerializer
|
from tenancy.api.serializers import NestedTenantSerializer, NestedTenantGroupSerializer
|
||||||
from users.api.serializers import NestedUserSerializer
|
from users.api.serializers import NestedUserSerializer
|
||||||
from utilities.api import (
|
from utilities.api import (
|
||||||
ChoiceFieldSerializer, ContentTypeFieldSerializer, get_serializer_for_model, ValidatedModelSerializer,
|
ChoiceField, ContentTypeField, get_serializer_for_model, ValidatedModelSerializer,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -25,7 +25,7 @@ from utilities.api import (
|
|||||||
#
|
#
|
||||||
|
|
||||||
class GraphSerializer(ValidatedModelSerializer):
|
class GraphSerializer(ValidatedModelSerializer):
|
||||||
type = ChoiceFieldSerializer(choices=GRAPH_TYPE_CHOICES)
|
type = ChoiceField(choices=GRAPH_TYPE_CHOICES)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Graph
|
model = Graph
|
||||||
@ -35,7 +35,7 @@ class GraphSerializer(ValidatedModelSerializer):
|
|||||||
class RenderedGraphSerializer(serializers.ModelSerializer):
|
class RenderedGraphSerializer(serializers.ModelSerializer):
|
||||||
embed_url = serializers.SerializerMethodField()
|
embed_url = serializers.SerializerMethodField()
|
||||||
embed_link = serializers.SerializerMethodField()
|
embed_link = serializers.SerializerMethodField()
|
||||||
type = ChoiceFieldSerializer(choices=GRAPH_TYPE_CHOICES)
|
type = ChoiceField(choices=GRAPH_TYPE_CHOICES)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Graph
|
model = Graph
|
||||||
@ -88,7 +88,7 @@ class TagSerializer(ValidatedModelSerializer):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class ImageAttachmentSerializer(ValidatedModelSerializer):
|
class ImageAttachmentSerializer(ValidatedModelSerializer):
|
||||||
content_type = ContentTypeFieldSerializer()
|
content_type = ContentTypeField()
|
||||||
parent = serializers.SerializerMethodField(read_only=True)
|
parent = serializers.SerializerMethodField(read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -188,7 +188,7 @@ class ReportDetailSerializer(ReportSerializer):
|
|||||||
|
|
||||||
class ObjectChangeSerializer(serializers.ModelSerializer):
|
class ObjectChangeSerializer(serializers.ModelSerializer):
|
||||||
user = NestedUserSerializer(read_only=True)
|
user = NestedUserSerializer(read_only=True)
|
||||||
content_type = ContentTypeFieldSerializer(read_only=True)
|
content_type = ContentTypeField(read_only=True)
|
||||||
changed_object = serializers.SerializerMethodField(read_only=True)
|
changed_object = serializers.SerializerMethodField(read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -217,7 +217,7 @@ class ObjectChangeSerializer(serializers.ModelSerializer):
|
|||||||
|
|
||||||
class UserActionSerializer(serializers.ModelSerializer):
|
class UserActionSerializer(serializers.ModelSerializer):
|
||||||
user = NestedUserSerializer()
|
user = NestedUserSerializer()
|
||||||
action = ChoiceFieldSerializer(choices=ACTION_CHOICES)
|
action = ChoiceField(choices=ACTION_CHOICES)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = UserAction
|
model = UserAction
|
||||||
|
@ -16,7 +16,7 @@ from ipam.constants import (
|
|||||||
from ipam.models import Aggregate, IPAddress, Prefix, RIR, Role, Service, VLAN, VLANGroup, VRF
|
from ipam.models import Aggregate, IPAddress, Prefix, RIR, Role, Service, VLAN, VLANGroup, VRF
|
||||||
from tenancy.api.serializers import NestedTenantSerializer
|
from tenancy.api.serializers import NestedTenantSerializer
|
||||||
from utilities.api import (
|
from utilities.api import (
|
||||||
ChoiceFieldSerializer, SerializedPKRelatedField, TagField, ValidatedModelSerializer, WritableNestedSerializer,
|
ChoiceField, SerializedPKRelatedField, TagField, ValidatedModelSerializer, WritableNestedSerializer,
|
||||||
)
|
)
|
||||||
from virtualization.api.serializers import NestedVirtualMachineSerializer
|
from virtualization.api.serializers import NestedVirtualMachineSerializer
|
||||||
|
|
||||||
@ -151,7 +151,7 @@ class VLANSerializer(CustomFieldModelSerializer):
|
|||||||
site = NestedSiteSerializer(required=False, allow_null=True)
|
site = NestedSiteSerializer(required=False, allow_null=True)
|
||||||
group = NestedVLANGroupSerializer(required=False, allow_null=True)
|
group = NestedVLANGroupSerializer(required=False, allow_null=True)
|
||||||
tenant = NestedTenantSerializer(required=False, allow_null=True)
|
tenant = NestedTenantSerializer(required=False, allow_null=True)
|
||||||
status = ChoiceFieldSerializer(choices=VLAN_STATUS_CHOICES, required=False)
|
status = ChoiceField(choices=VLAN_STATUS_CHOICES, required=False)
|
||||||
role = NestedRoleSerializer(required=False, allow_null=True)
|
role = NestedRoleSerializer(required=False, allow_null=True)
|
||||||
tags = TagField(queryset=Tag.objects.all(), required=False, many=True)
|
tags = TagField(queryset=Tag.objects.all(), required=False, many=True)
|
||||||
|
|
||||||
@ -195,7 +195,7 @@ class PrefixSerializer(CustomFieldModelSerializer):
|
|||||||
vrf = NestedVRFSerializer(required=False, allow_null=True)
|
vrf = NestedVRFSerializer(required=False, allow_null=True)
|
||||||
tenant = NestedTenantSerializer(required=False, allow_null=True)
|
tenant = NestedTenantSerializer(required=False, allow_null=True)
|
||||||
vlan = NestedVLANSerializer(required=False, allow_null=True)
|
vlan = NestedVLANSerializer(required=False, allow_null=True)
|
||||||
status = ChoiceFieldSerializer(choices=PREFIX_STATUS_CHOICES, required=False)
|
status = ChoiceField(choices=PREFIX_STATUS_CHOICES, required=False)
|
||||||
role = NestedRoleSerializer(required=False, allow_null=True)
|
role = NestedRoleSerializer(required=False, allow_null=True)
|
||||||
tags = TagField(queryset=Tag.objects.all(), required=False, many=True)
|
tags = TagField(queryset=Tag.objects.all(), required=False, many=True)
|
||||||
|
|
||||||
@ -257,8 +257,8 @@ class IPAddressInterfaceSerializer(serializers.ModelSerializer):
|
|||||||
class IPAddressSerializer(CustomFieldModelSerializer):
|
class IPAddressSerializer(CustomFieldModelSerializer):
|
||||||
vrf = NestedVRFSerializer(required=False, allow_null=True)
|
vrf = NestedVRFSerializer(required=False, allow_null=True)
|
||||||
tenant = NestedTenantSerializer(required=False, allow_null=True)
|
tenant = NestedTenantSerializer(required=False, allow_null=True)
|
||||||
status = ChoiceFieldSerializer(choices=IPADDRESS_STATUS_CHOICES, required=False)
|
status = ChoiceField(choices=IPADDRESS_STATUS_CHOICES, required=False)
|
||||||
role = ChoiceFieldSerializer(choices=IPADDRESS_ROLE_CHOICES, required=False)
|
role = ChoiceField(choices=IPADDRESS_ROLE_CHOICES, required=False)
|
||||||
interface = IPAddressInterfaceSerializer(required=False, allow_null=True)
|
interface = IPAddressInterfaceSerializer(required=False, allow_null=True)
|
||||||
tags = TagField(queryset=Tag.objects.all(), required=False, many=True)
|
tags = TagField(queryset=Tag.objects.all(), required=False, many=True)
|
||||||
|
|
||||||
@ -304,7 +304,7 @@ class AvailableIPSerializer(serializers.Serializer):
|
|||||||
class ServiceSerializer(CustomFieldModelSerializer):
|
class ServiceSerializer(CustomFieldModelSerializer):
|
||||||
device = NestedDeviceSerializer(required=False, allow_null=True)
|
device = NestedDeviceSerializer(required=False, allow_null=True)
|
||||||
virtual_machine = NestedVirtualMachineSerializer(required=False, allow_null=True)
|
virtual_machine = NestedVirtualMachineSerializer(required=False, allow_null=True)
|
||||||
protocol = ChoiceFieldSerializer(choices=IP_PROTOCOL_CHOICES)
|
protocol = ChoiceField(choices=IP_PROTOCOL_CHOICES)
|
||||||
ipaddresses = SerializedPKRelatedField(
|
ipaddresses = SerializedPKRelatedField(
|
||||||
queryset=IPAddress.objects.all(),
|
queryset=IPAddress.objects.all(),
|
||||||
serializer=NestedIPAddressSerializer,
|
serializer=NestedIPAddressSerializer,
|
||||||
|
@ -63,7 +63,6 @@ class TagField(RelatedField):
|
|||||||
"""
|
"""
|
||||||
Represent a writable list of Tags associated with an object (use with many=True).
|
Represent a writable list of Tags associated with an object (use with many=True).
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def to_internal_value(self, data):
|
def to_internal_value(self, data):
|
||||||
obj = self.parent.parent.instance
|
obj = self.parent.parent.instance
|
||||||
content_type = ContentType.objects.get_for_model(obj)
|
content_type = ContentType.objects.get_for_model(obj)
|
||||||
@ -74,7 +73,7 @@ class TagField(RelatedField):
|
|||||||
return value.name
|
return value.name
|
||||||
|
|
||||||
|
|
||||||
class ChoiceFieldSerializer(Field):
|
class ChoiceField(Field):
|
||||||
"""
|
"""
|
||||||
Represent a ChoiceField as {'value': <DB value>, 'label': <string>}.
|
Represent a ChoiceField as {'value': <DB value>, 'label': <string>}.
|
||||||
"""
|
"""
|
||||||
@ -87,7 +86,7 @@ class ChoiceFieldSerializer(Field):
|
|||||||
self._choices[k2] = v2
|
self._choices[k2] = v2
|
||||||
else:
|
else:
|
||||||
self._choices[k] = v
|
self._choices[k] = v
|
||||||
super(ChoiceFieldSerializer, self).__init__(**kwargs)
|
super(ChoiceField, self).__init__(**kwargs)
|
||||||
|
|
||||||
def to_representation(self, obj):
|
def to_representation(self, obj):
|
||||||
return {'value': obj, 'label': self._choices[obj]}
|
return {'value': obj, 'label': self._choices[obj]}
|
||||||
@ -96,7 +95,7 @@ class ChoiceFieldSerializer(Field):
|
|||||||
return data
|
return data
|
||||||
|
|
||||||
|
|
||||||
class ContentTypeFieldSerializer(Field):
|
class ContentTypeField(Field):
|
||||||
"""
|
"""
|
||||||
Represent a ContentType as '<app_label>.<model>'
|
Represent a ContentType as '<app_label>.<model>'
|
||||||
"""
|
"""
|
||||||
|
@ -3,7 +3,7 @@ from drf_yasg.inspectors import FieldInspector, NotHandled, PaginatorInspector,
|
|||||||
from rest_framework.fields import ChoiceField
|
from rest_framework.fields import ChoiceField
|
||||||
|
|
||||||
from extras.api.customfields import CustomFieldsSerializer
|
from extras.api.customfields import CustomFieldsSerializer
|
||||||
from utilities.api import ChoiceFieldSerializer
|
from utilities.api import ChoiceField
|
||||||
|
|
||||||
|
|
||||||
class CustomChoiceFieldInspector(FieldInspector):
|
class CustomChoiceFieldInspector(FieldInspector):
|
||||||
@ -12,7 +12,7 @@ class CustomChoiceFieldInspector(FieldInspector):
|
|||||||
# https://drf-yasg.readthedocs.io/en/stable/_modules/drf_yasg/inspectors/base.html#FieldInspector._get_partial_types
|
# https://drf-yasg.readthedocs.io/en/stable/_modules/drf_yasg/inspectors/base.html#FieldInspector._get_partial_types
|
||||||
SwaggerType, _ = self._get_partial_types(field, swagger_object_type, use_references, **kwargs)
|
SwaggerType, _ = self._get_partial_types(field, swagger_object_type, use_references, **kwargs)
|
||||||
|
|
||||||
if isinstance(field, ChoiceFieldSerializer):
|
if isinstance(field, ChoiceField):
|
||||||
value_schema = openapi.Schema(type=openapi.TYPE_INTEGER)
|
value_schema = openapi.Schema(type=openapi.TYPE_INTEGER)
|
||||||
|
|
||||||
choices = list(field._choices.keys())
|
choices = list(field._choices.keys())
|
||||||
|
@ -9,7 +9,7 @@ from dcim.models import Interface
|
|||||||
from extras.api.customfields import CustomFieldModelSerializer
|
from extras.api.customfields import CustomFieldModelSerializer
|
||||||
from ipam.models import IPAddress, VLAN
|
from ipam.models import IPAddress, VLAN
|
||||||
from tenancy.api.serializers import NestedTenantSerializer
|
from tenancy.api.serializers import NestedTenantSerializer
|
||||||
from utilities.api import ChoiceFieldSerializer, TagField, ValidatedModelSerializer, WritableNestedSerializer
|
from utilities.api import ChoiceField, TagField, ValidatedModelSerializer, WritableNestedSerializer
|
||||||
from virtualization.constants import VM_STATUS_CHOICES
|
from virtualization.constants import VM_STATUS_CHOICES
|
||||||
from virtualization.models import Cluster, ClusterGroup, ClusterType, VirtualMachine
|
from virtualization.models import Cluster, ClusterGroup, ClusterType, VirtualMachine
|
||||||
|
|
||||||
@ -91,7 +91,7 @@ class VirtualMachineIPAddressSerializer(serializers.ModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class VirtualMachineSerializer(CustomFieldModelSerializer):
|
class VirtualMachineSerializer(CustomFieldModelSerializer):
|
||||||
status = ChoiceFieldSerializer(choices=VM_STATUS_CHOICES, required=False)
|
status = ChoiceField(choices=VM_STATUS_CHOICES, required=False)
|
||||||
cluster = NestedClusterSerializer(required=False, allow_null=True)
|
cluster = NestedClusterSerializer(required=False, allow_null=True)
|
||||||
role = NestedDeviceRoleSerializer(required=False, allow_null=True)
|
role = NestedDeviceRoleSerializer(required=False, allow_null=True)
|
||||||
tenant = NestedTenantSerializer(required=False, allow_null=True)
|
tenant = NestedTenantSerializer(required=False, allow_null=True)
|
||||||
@ -145,7 +145,7 @@ class InterfaceVLANSerializer(serializers.ModelSerializer):
|
|||||||
|
|
||||||
class InterfaceSerializer(serializers.ModelSerializer):
|
class InterfaceSerializer(serializers.ModelSerializer):
|
||||||
virtual_machine = NestedVirtualMachineSerializer()
|
virtual_machine = NestedVirtualMachineSerializer()
|
||||||
mode = ChoiceFieldSerializer(choices=IFACE_MODE_CHOICES)
|
mode = ChoiceField(choices=IFACE_MODE_CHOICES)
|
||||||
untagged_vlan = InterfaceVLANSerializer()
|
untagged_vlan = InterfaceVLANSerializer()
|
||||||
tagged_vlans = InterfaceVLANSerializer(many=True)
|
tagged_vlans = InterfaceVLANSerializer(many=True)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user