diff --git a/netbox/dcim/api/serializers.py b/netbox/dcim/api/serializers.py index b352050e1..0bfcc72df 100644 --- a/netbox/dcim/api/serializers.py +++ b/netbox/dcim/api/serializers.py @@ -696,6 +696,9 @@ class WritableInterfaceSerializer(ValidatedModelSerializer): 'id', 'device', 'name', 'form_factor', 'enabled', 'lag', 'mtu', 'mac_address', 'mgmt_only', 'description', 'mode', 'untagged_vlan', 'tagged_vlans', ] + ignore_validation_fields = [ + 'tagged_vlans' + ] def validate(self, data): diff --git a/netbox/utilities/api.py b/netbox/utilities/api.py index d9ae855ea..f35e6b40a 100644 --- a/netbox/utilities/api.py +++ b/netbox/utilities/api.py @@ -48,6 +48,11 @@ class ValidatedModelSerializer(ModelSerializer): attrs = data.copy() attrs.pop('custom_fields', None) + # remove any fields marked for no validation + ignore_validation_fields = getattr(self.Meta, 'ignore_validation_fields', []) + for field in ignore_validation_fields: + attrs.pop(field) + # Run clean() on an instance of the model if self.instance is None: instance = self.Meta.model(**attrs)