diff --git a/device_management/serializers.py b/device_management/serializers.py index b10b605..14f1bc4 100644 --- a/device_management/serializers.py +++ b/device_management/serializers.py @@ -33,10 +33,8 @@ class DeviceAttachmentSerializer(serializers.ModelSerializer): class DeviceSerializer(serializers.ModelSerializer): - serials = DeviceSerialSerializer(many=True, required=False) - ips = DeviceIPSerializer(many=True, required=False) - maintenance_records = MaintenanceRecordSerializer(many=True, read_only=True) - attachments = DeviceAttachmentSerializer(many=True, read_only=True) + serials = serializers.ListField(child=serializers.DictField(), required=False, write_only=True) + ips = serializers.ListField(child=serializers.DictField(), required=False, write_only=True) service_duration_days = serializers.IntegerField(read_only=True) is_warranty_expired = serializers.BooleanField(read_only=True) primary_serial = serializers.SerializerMethodField() @@ -50,7 +48,7 @@ class DeviceSerializer(serializers.ModelSerializer): 'thumbnail', 'status', 'responsible_person', 'warranty_expire', 'service_duration_days', 'is_warranty_expired', 'primary_serial', 'primary_ip', 'latest_maintenance', 'serials', 'ips', - 'maintenance_records', 'attachments', 'created_at', 'updated_at'] + 'created_at', 'updated_at'] read_only_fields = ['created_at', 'updated_at'] def get_primary_serial(self, obj): diff --git a/device_management/views.py b/device_management/views.py index 5443640..bd5f2cc 100644 --- a/device_management/views.py +++ b/device_management/views.py @@ -7,6 +7,8 @@ from rest_framework import viewsets, status, parsers, renderers from rest_framework.decorators import action, api_view, parser_classes from rest_framework.response import Response from rest_framework.permissions import IsAuthenticatedOrReadOnly, IsAuthenticated +from drf_yasg.utils import swagger_auto_schema +from drf_yasg import openapi as swagger_openapi from openpyxl import Workbook, load_workbook from openpyxl.styles import Font import pandas as pd