diff --git a/netbox/circuits/api/serializers.py b/netbox/circuits/api/serializers.py index 4703458a6..b36d22105 100644 --- a/netbox/circuits/api/serializers.py +++ b/netbox/circuits/api/serializers.py @@ -28,11 +28,14 @@ class NestedProviderSerializer(serializers.ModelSerializer): fields = ['id', 'url', 'name', 'slug'] -class WritableProviderSerializer(serializers.ModelSerializer): +class WritableProviderSerializer(CustomFieldModelSerializer): class Meta: model = Provider - fields = ['id', 'name', 'slug', 'asn', 'account', 'portal_url', 'noc_contact', 'admin_contact', 'comments'] + fields = [ + 'id', 'name', 'slug', 'asn', 'account', 'portal_url', 'noc_contact', 'admin_contact', 'comments', + 'custom_fields', + ] # @@ -79,11 +82,14 @@ class NestedCircuitSerializer(serializers.ModelSerializer): fields = ['id', 'url', 'cid'] -class WritableCircuitSerializer(serializers.ModelSerializer): +class WritableCircuitSerializer(CustomFieldModelSerializer): class Meta: model = Circuit - fields = ['id', 'cid', 'provider', 'type', 'tenant', 'install_date', 'commit_rate', 'description', 'comments'] + fields = [ + 'id', 'cid', 'provider', 'type', 'tenant', 'install_date', 'commit_rate', 'description', 'comments', + 'custom_fields', + ] # diff --git a/netbox/dcim/api/serializers.py b/netbox/dcim/api/serializers.py index de93f836b..a9c52e3fd 100644 --- a/netbox/dcim/api/serializers.py +++ b/netbox/dcim/api/serializers.py @@ -150,13 +150,13 @@ class NestedRackSerializer(serializers.ModelSerializer): fields = ['id', 'url', 'name', 'display_name'] -class WritableRackSerializer(serializers.ModelSerializer): +class WritableRackSerializer(CustomFieldModelSerializer): class Meta: model = Rack fields = [ 'id', 'name', 'facility_id', 'site', 'group', 'tenant', 'role', 'type', 'width', 'u_height', 'desc_units', - 'comments', + 'comments', 'custom_fields', ] # Omit the UniqueTogetherValidator that would be automatically added to validate (site, facility_id). This # prevents facility_id from being interpreted as a required field. @@ -263,13 +263,13 @@ class NestedDeviceTypeSerializer(serializers.ModelSerializer): fields = ['id', 'url', 'manufacturer', 'model', 'slug'] -class WritableDeviceTypeSerializer(serializers.ModelSerializer): +class WritableDeviceTypeSerializer(CustomFieldModelSerializer): class Meta: model = DeviceType fields = [ 'id', 'manufacturer', 'model', 'slug', 'part_number', 'u_height', 'is_full_depth', 'interface_ordering', - 'is_console_server', 'is_pdu', 'is_network_device', 'subdevice_role', 'comments', + 'is_console_server', 'is_pdu', 'is_network_device', 'subdevice_role', 'comments', 'custom_fields', ] @@ -476,13 +476,13 @@ class DeviceSerializer(CustomFieldModelSerializer): } -class WritableDeviceSerializer(serializers.ModelSerializer): +class WritableDeviceSerializer(CustomFieldModelSerializer): class Meta: model = Device fields = [ 'id', 'name', 'device_type', 'device_role', 'tenant', 'platform', 'serial', 'asset_tag', 'site', 'rack', - 'position', 'face', 'status', 'primary_ip4', 'primary_ip6', 'comments', + 'position', 'face', 'status', 'primary_ip4', 'primary_ip6', 'comments', 'custom_fields', ] validators = [] diff --git a/netbox/ipam/api/serializers.py b/netbox/ipam/api/serializers.py index 5a350acb7..7d9a5778c 100644 --- a/netbox/ipam/api/serializers.py +++ b/netbox/ipam/api/serializers.py @@ -31,11 +31,11 @@ class NestedVRFSerializer(serializers.ModelSerializer): fields = ['id', 'url', 'name', 'rd'] -class WritableVRFSerializer(serializers.ModelSerializer): +class WritableVRFSerializer(CustomFieldModelSerializer): class Meta: model = VRF - fields = ['id', 'name', 'rd', 'tenant', 'enforce_unique', 'description'] + fields = ['id', 'name', 'rd', 'tenant', 'enforce_unique', 'description', 'custom_fields'] # @@ -96,11 +96,11 @@ class NestedAggregateSerializer(serializers.ModelSerializer): fields = ['id', 'url', 'family', 'prefix'] -class WritableAggregateSerializer(serializers.ModelSerializer): +class WritableAggregateSerializer(CustomFieldModelSerializer): class Meta: model = Aggregate - fields = ['id', 'prefix', 'rir', 'date_added', 'description'] + fields = ['id', 'prefix', 'rir', 'date_added', 'description', 'custom_fields'] # @@ -169,11 +169,11 @@ class NestedVLANSerializer(serializers.ModelSerializer): fields = ['id', 'url', 'vid', 'name', 'display_name'] -class WritableVLANSerializer(serializers.ModelSerializer): +class WritableVLANSerializer(CustomFieldModelSerializer): class Meta: model = VLAN - fields = ['id', 'site', 'group', 'vid', 'name', 'tenant', 'status', 'role', 'description'] + fields = ['id', 'site', 'group', 'vid', 'name', 'tenant', 'status', 'role', 'description', 'custom_fields'] validators = [] def validate(self, data): @@ -216,11 +216,14 @@ class NestedPrefixSerializer(serializers.ModelSerializer): fields = ['id', 'url', 'family', 'prefix'] -class WritablePrefixSerializer(serializers.ModelSerializer): +class WritablePrefixSerializer(CustomFieldModelSerializer): class Meta: model = Prefix - fields = ['id', 'prefix', 'site', 'vrf', 'tenant', 'vlan', 'status', 'role', 'is_pool', 'description'] + fields = [ + 'id', 'prefix', 'site', 'vrf', 'tenant', 'vlan', 'status', 'role', 'is_pool', 'description', + 'custom_fields', + ] # @@ -252,11 +255,11 @@ IPAddressSerializer._declared_fields['nat_inside'] = NestedIPAddressSerializer() IPAddressSerializer._declared_fields['nat_outside'] = NestedIPAddressSerializer() -class WritableIPAddressSerializer(serializers.ModelSerializer): +class WritableIPAddressSerializer(CustomFieldModelSerializer): class Meta: model = IPAddress - fields = ['id', 'address', 'vrf', 'tenant', 'status', 'interface', 'description', 'nat_inside'] + fields = ['id', 'address', 'vrf', 'tenant', 'status', 'interface', 'description', 'nat_inside', 'custom_fields'] # diff --git a/netbox/tenancy/api/serializers.py b/netbox/tenancy/api/serializers.py index 67231fe67..e649b6f03 100644 --- a/netbox/tenancy/api/serializers.py +++ b/netbox/tenancy/api/serializers.py @@ -43,8 +43,8 @@ class NestedTenantSerializer(serializers.ModelSerializer): fields = ['id', 'url', 'name', 'slug'] -class WritableTenantSerializer(serializers.ModelSerializer): +class WritableTenantSerializer(CustomFieldModelSerializer): class Meta: model = Tenant - fields = ['id', 'name', 'slug', 'group', 'description', 'comments'] + fields = ['id', 'name', 'slug', 'group', 'description', 'comments', 'custom_fields']