fix: 修复drf-yasg嵌套序列化器导致Redoc/Swagger 500错误
This commit is contained in:
@@ -33,10 +33,8 @@ class DeviceAttachmentSerializer(serializers.ModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class DeviceSerializer(serializers.ModelSerializer):
|
class DeviceSerializer(serializers.ModelSerializer):
|
||||||
serials = DeviceSerialSerializer(many=True, required=False)
|
serials = serializers.ListField(child=serializers.DictField(), required=False, write_only=True)
|
||||||
ips = DeviceIPSerializer(many=True, required=False)
|
ips = serializers.ListField(child=serializers.DictField(), required=False, write_only=True)
|
||||||
maintenance_records = MaintenanceRecordSerializer(many=True, read_only=True)
|
|
||||||
attachments = DeviceAttachmentSerializer(many=True, read_only=True)
|
|
||||||
service_duration_days = serializers.IntegerField(read_only=True)
|
service_duration_days = serializers.IntegerField(read_only=True)
|
||||||
is_warranty_expired = serializers.BooleanField(read_only=True)
|
is_warranty_expired = serializers.BooleanField(read_only=True)
|
||||||
primary_serial = serializers.SerializerMethodField()
|
primary_serial = serializers.SerializerMethodField()
|
||||||
@@ -50,7 +48,7 @@ class DeviceSerializer(serializers.ModelSerializer):
|
|||||||
'thumbnail', 'status', 'responsible_person', 'warranty_expire',
|
'thumbnail', 'status', 'responsible_person', 'warranty_expire',
|
||||||
'service_duration_days', 'is_warranty_expired', 'primary_serial',
|
'service_duration_days', 'is_warranty_expired', 'primary_serial',
|
||||||
'primary_ip', 'latest_maintenance', 'serials', 'ips',
|
'primary_ip', 'latest_maintenance', 'serials', 'ips',
|
||||||
'maintenance_records', 'attachments', 'created_at', 'updated_at']
|
'created_at', 'updated_at']
|
||||||
read_only_fields = ['created_at', 'updated_at']
|
read_only_fields = ['created_at', 'updated_at']
|
||||||
|
|
||||||
def get_primary_serial(self, obj):
|
def get_primary_serial(self, obj):
|
||||||
|
|||||||
@@ -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.decorators import action, api_view, parser_classes
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from rest_framework.permissions import IsAuthenticatedOrReadOnly, IsAuthenticated
|
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 import Workbook, load_workbook
|
||||||
from openpyxl.styles import Font
|
from openpyxl.styles import Font
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
|
|||||||
Reference in New Issue
Block a user