mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-17 04:32:51 -06:00
Extended DeviceTypeSerializer to include component templates
This commit is contained in:
parent
0acf56d773
commit
f52b880d98
@ -1,7 +1,8 @@
|
|||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
|
||||||
from ipam.models import IPAddress
|
from ipam.models import IPAddress
|
||||||
from dcim.models import Site, Rack, RackGroup, Manufacturer, DeviceType, DeviceRole, Platform, Device, ConsolePort,\
|
from dcim.models import Site, Rack, RackGroup, Manufacturer, ConsolePortTemplate, ConsoleServerPortTemplate, \
|
||||||
|
PowerPortTemplate, PowerOutletTemplate, InterfaceTemplate, DeviceType, DeviceRole, Platform, Device, ConsolePort, \
|
||||||
ConsoleServerPort, PowerPort, PowerOutlet, Interface, InterfaceConnection, RACK_FACE_FRONT, RACK_FACE_REAR
|
ConsoleServerPort, PowerPort, PowerOutlet, Interface, InterfaceConnection, RACK_FACE_FRONT, RACK_FACE_REAR
|
||||||
|
|
||||||
|
|
||||||
@ -107,12 +108,54 @@ class ManufacturerNestedSerializer(ManufacturerSerializer):
|
|||||||
# Device types
|
# Device types
|
||||||
#
|
#
|
||||||
|
|
||||||
|
class ConsolePortTemplateNestedSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = ConsolePortTemplate
|
||||||
|
fields = ['id', 'name']
|
||||||
|
|
||||||
|
|
||||||
|
class ConsoleServerPortTemplateNestedSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = ConsoleServerPortTemplate
|
||||||
|
fields = ['id', 'name']
|
||||||
|
|
||||||
|
|
||||||
|
class PowerPortTemplateNestedSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = PowerPortTemplate
|
||||||
|
fields = ['id', 'name']
|
||||||
|
|
||||||
|
|
||||||
|
class PowerOutletTemplateNestedSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = PowerOutletTemplate
|
||||||
|
fields = ['id', 'name']
|
||||||
|
|
||||||
|
|
||||||
|
class InterfaceTemplateNestedSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = InterfaceTemplate
|
||||||
|
fields = ['id', 'name', 'form_factor', 'mgmt_only']
|
||||||
|
|
||||||
|
|
||||||
class DeviceTypeSerializer(serializers.ModelSerializer):
|
class DeviceTypeSerializer(serializers.ModelSerializer):
|
||||||
manufacturer = ManufacturerNestedSerializer()
|
manufacturer = ManufacturerNestedSerializer()
|
||||||
|
console_port_templates = ConsolePortTemplateNestedSerializer(many=True, read_only=True)
|
||||||
|
cs_port_templates = ConsoleServerPortTemplateNestedSerializer(many=True, read_only=True)
|
||||||
|
power_port_templates = PowerPortTemplateNestedSerializer(many=True, read_only=True)
|
||||||
|
power_outlet_templates = PowerPortTemplateNestedSerializer(many=True, read_only=True)
|
||||||
|
interface_templates = InterfaceTemplateNestedSerializer(many=True, read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = DeviceType
|
model = DeviceType
|
||||||
fields = ['id', 'manufacturer', 'model', 'slug', 'u_height', 'is_console_server', 'is_pdu', 'is_network_device']
|
fields = ['id', 'manufacturer', 'model', 'slug', 'u_height', 'is_console_server', 'is_pdu', 'is_network_device',
|
||||||
|
'console_port_templates', 'cs_port_templates', 'power_port_templates', 'power_outlet_templates',
|
||||||
|
'interface_templates']
|
||||||
|
|
||||||
|
|
||||||
class DeviceTypeNestedSerializer(DeviceTypeSerializer):
|
class DeviceTypeNestedSerializer(DeviceTypeSerializer):
|
||||||
|
Loading…
Reference in New Issue
Block a user