31 lines
771 B
Python
31 lines
771 B
Python
from rest_framework import serializers
|
|
|
|
from devices.models.device import Device, DeviceGroup
|
|
|
|
|
|
class DeviceRelatedField(serializers.PrimaryKeyRelatedField):
|
|
|
|
def to_representation(self, device: Device):
|
|
return IDNameDeviceSerializer(device).data
|
|
|
|
|
|
class IDNameDeviceSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Device
|
|
fields = ['id', 'name']
|
|
|
|
|
|
class DeviceGroupRelatedField(serializers.PrimaryKeyRelatedField):
|
|
|
|
def to_representation(self, device: Device):
|
|
return IDNameDeviceGroupSerializer(device).data
|
|
|
|
def use_pk_only_optimization(self):
|
|
return False
|
|
|
|
|
|
class IDNameDeviceGroupSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = DeviceGroup
|
|
fields = ['id', 'name']
|
|
|