fix: 修复drf-yasg嵌套序列化器导致Redoc/Swagger 500错误
This commit is contained in:
@@ -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):
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user