11432 DRY

This commit is contained in:
Arthur 2023-04-07 10:54:36 -07:00
parent f56db90275
commit 36d3c84803

View File

@ -31,28 +31,25 @@ from wireless.models import WirelessLAN
from .nested_serializers import *
class ReadonlyDeviceMixin:
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['device'].read_only = True
fields[self.field_name].read_only = True
return fields
class ReadonlyDeviceTypeMixin:
class ReadonlyDeviceMixin(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['device_type'].read_only = True
return fields
class ReadonlyDeviceTypeMixin(BaseReadonlyDeviceMixin):
field_name = 'device_type'
class CabledObjectSerializer(serializers.ModelSerializer):