From a72349448d04f4aa854eb578dce9efafa1fe8b24 Mon Sep 17 00:00:00 2001 From: Arthur Date: Fri, 7 Apr 2023 11:14:50 -0700 Subject: [PATCH] 11432 DRY --- netbox/dcim/api/serializers.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/netbox/dcim/api/serializers.py b/netbox/dcim/api/serializers.py index 8d85a8690..6c8ea7e81 100644 --- a/netbox/dcim/api/serializers.py +++ b/netbox/dcim/api/serializers.py @@ -32,24 +32,28 @@ from .nested_serializers import * class BaseReadonlyDeviceMixin: - field_name = 'device' def get_fields(self, *args, **kwargs): fields = super().get_fields(*args, **kwargs) # get_extra_kwargs doesn't work if field explicitly declared on serializer... if (self.instance): - fields[self.field_name].read_only = True + fields[self.get_field_name()].read_only = True return fields class ReadonlyDeviceMixin(BaseReadonlyDeviceMixin): - field_name = 'device' + + # can't be a field as mucks up serializer + def get_field_name(self): + return "device" class ReadonlyDeviceTypeMixin(BaseReadonlyDeviceMixin): - field_name = 'device_type' + + def get_field_name(self): + return "device_type" class CabledObjectSerializer(serializers.ModelSerializer):