25 lines
1.0 KiB
Python
25 lines
1.0 KiB
Python
from utils import serializer
|
|
from rest_framework import serializers
|
|
|
|
from .models import *
|
|
from apps.project.models import CertApp
|
|
from apps.system.serializers import DictSimpleSerializer, UserSimpleSerializer
|
|
|
|
class CertappSerializerX(serializers.ModelSerializer):
|
|
cert_field_ = DictSimpleSerializer(source='cert_field', read_only=True)
|
|
cccpv_class_ = DictSimpleSerializer(source='cccpv_class' , read_only=True)
|
|
cnas_scopes_ = DictSimpleSerializer(source='cnas_scopes', many=True , read_only=True)
|
|
create_by_ = UserSimpleSerializer(source='create_by', read_only=True)
|
|
accept_by_ = UserSimpleSerializer(source='accept_by', read_only=True)
|
|
class Meta:
|
|
model = CertApp
|
|
fields = '__all__'
|
|
|
|
@staticmethod
|
|
def setup_eager_loading(queryset):
|
|
""" Perform necessary eager loading of data. """
|
|
queryset = queryset.select_related('cert_field', 'cccpv_class', 'create_by', 'accept_by')
|
|
queryset = queryset.prefetch_related('cnas_scopes', 'member_certapp')
|
|
return queryset
|
|
|