38 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
| from rest_framework import serializers
 | |
| 
 | |
| from .models import Enterprise,EnterpriseAddress
 | |
| from apps.system.serializers import DictSerializer
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| class EnterpriseAddressSerializer(serializers.ModelSerializer):
 | |
|     class Meta:
 | |
|         model = EnterpriseAddress
 | |
|         fields = '__all__'
 | |
|    
 | |
|     
 | |
| class EnterpriseListSerializer(serializers.ModelSerializer):
 | |
|     type = DictSerializer()
 | |
|     economy_class = DictSerializer()
 | |
|     
 | |
|     class Meta:
 | |
|         model = Enterprise
 | |
|         fields = ['id','query_code', 'code', 'name','ename','type','legal','build_time','person_count','ceramics_output','gassets','linkman1_name','linkman1_tel','linkman1_mobile','country_code','parent','credit_code','professional','all_person','economy_class','economy_type','linkman1_duty','business_type']
 | |
|     @staticmethod
 | |
|     def setup_eager_loading(queryset):
 | |
|         """ Perform necessary eager loading of data. """
 | |
|         queryset = queryset.select_related('type','economy_class')
 | |
|         queryset = queryset.prefetch_related('enterpriseaddress_enterprise',)
 | |
|         return queryset
 | |
| 
 | |
| class EnterpriseSerializer(serializers.ModelSerializer):
 | |
|     address_ = EnterpriseAddressSerializer(source='enterpriseaddress_enterprise', many=True)
 | |
|     class Meta:
 | |
|         model = Enterprise
 | |
|         fields = '__all__'
 | |
|     def setup_eager_loading(queryset):
 | |
|         """ Perform necessary eager loading of data. """
 | |
|         # queryset = queryset.select_related('type','economy_class')
 | |
|         queryset = queryset.prefetch_related('enterpriseaddress_enterprise',)
 | |
|         return queryset |