consumer serilizer
This commit is contained in:
parent
49948f0a4b
commit
3db94498d6
|
@ -35,6 +35,25 @@ class ConsumerSerializer(serializers.ModelSerializer):
|
|||
subjects_name = serializers.StringRelatedField(source='subjects', many=True, read_only=True)
|
||||
workscope_name = serializers.StringRelatedField(source='workscope', read_only=True)
|
||||
role_name = serializers.StringRelatedField(source='role', read_only=True)
|
||||
class Meta:
|
||||
model = Consumer
|
||||
exclude = ('avatar','collects')
|
||||
|
||||
@staticmethod
|
||||
def setup_eager_loading(queryset):
|
||||
""" Perform necessary eager loading of data. """
|
||||
queryset = queryset.select_related('company','workscope', 'role')
|
||||
queryset = queryset.prefetch_related('subjects',)
|
||||
return queryset
|
||||
|
||||
class ConsumerDetailSerializer(serializers.ModelSerializer):
|
||||
"""
|
||||
客户详情序列化
|
||||
"""
|
||||
company_name = serializers.StringRelatedField(source='company', read_only=True)
|
||||
subjects_name = serializers.StringRelatedField(source='subjects', many=True, read_only=True)
|
||||
workscope_name = serializers.StringRelatedField(source='workscope', read_only=True)
|
||||
role_name = serializers.StringRelatedField(source='role', read_only=True)
|
||||
perms = serializers.SerializerMethodField(read_only=True)
|
||||
class Meta:
|
||||
model = Consumer
|
||||
|
@ -43,7 +62,7 @@ class ConsumerSerializer(serializers.ModelSerializer):
|
|||
@staticmethod
|
||||
def setup_eager_loading(queryset):
|
||||
""" Perform necessary eager loading of data. """
|
||||
queryset = queryset.select_related('company','workscope')
|
||||
queryset = queryset.select_related('company','workscope', 'role')
|
||||
queryset = queryset.prefetch_related('subjects',)
|
||||
return queryset
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ from utils.custom import CommonPagination
|
|||
|
||||
from .exports import export_consumer
|
||||
from .models import Company, Consumer, PaySubject, SendCode, ConsumerPerm, ConsumerRole
|
||||
from .serializers import CompanySerializer, ConsumerSerializer, ConsumerPermSerializer, ConsumerRoleSerializer
|
||||
from .serializers import CompanySerializer, ConsumerSerializer, ConsumerPermSerializer, ConsumerRoleSerializer, ConsumerDetailSerializer
|
||||
|
||||
appid = 'wxf1e9471c93f05ad6'
|
||||
secret = '4bf7f9bd6c52634586bbe792a1f0a834'
|
||||
|
@ -320,7 +320,7 @@ class ConsumerMPLoginView(APIView):
|
|||
openid = info['openid']
|
||||
session_key = info['session_key']
|
||||
consumer = Consumer.objects.get_or_create(openid = openid)[0]
|
||||
serializer = ConsumerSerializer(instance=consumer)
|
||||
serializer = ConsumerDetailSerializer(instance=consumer)
|
||||
payload = jwt_payload_handler(consumer)
|
||||
token = jwt_encode_handler(payload)
|
||||
return Response({"token":token,"session_key":session_key, "openid":openid, "userinfo":serializer.data})
|
||||
|
|
Loading…
Reference in New Issue