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)
|
subjects_name = serializers.StringRelatedField(source='subjects', many=True, read_only=True)
|
||||||
workscope_name = serializers.StringRelatedField(source='workscope', read_only=True)
|
workscope_name = serializers.StringRelatedField(source='workscope', read_only=True)
|
||||||
role_name = serializers.StringRelatedField(source='role', 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)
|
perms = serializers.SerializerMethodField(read_only=True)
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Consumer
|
model = Consumer
|
||||||
|
@ -43,7 +62,7 @@ class ConsumerSerializer(serializers.ModelSerializer):
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def setup_eager_loading(queryset):
|
def setup_eager_loading(queryset):
|
||||||
""" Perform necessary eager loading of data. """
|
""" Perform necessary eager loading of data. """
|
||||||
queryset = queryset.select_related('company','workscope')
|
queryset = queryset.select_related('company','workscope', 'role')
|
||||||
queryset = queryset.prefetch_related('subjects',)
|
queryset = queryset.prefetch_related('subjects',)
|
||||||
return queryset
|
return queryset
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ from utils.custom import CommonPagination
|
||||||
|
|
||||||
from .exports import export_consumer
|
from .exports import export_consumer
|
||||||
from .models import Company, Consumer, PaySubject, SendCode, ConsumerPerm, ConsumerRole
|
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'
|
appid = 'wxf1e9471c93f05ad6'
|
||||||
secret = '4bf7f9bd6c52634586bbe792a1f0a834'
|
secret = '4bf7f9bd6c52634586bbe792a1f0a834'
|
||||||
|
@ -320,7 +320,7 @@ class ConsumerMPLoginView(APIView):
|
||||||
openid = info['openid']
|
openid = info['openid']
|
||||||
session_key = info['session_key']
|
session_key = info['session_key']
|
||||||
consumer = Consumer.objects.get_or_create(openid = openid)[0]
|
consumer = Consumer.objects.get_or_create(openid = openid)[0]
|
||||||
serializer = ConsumerSerializer(instance=consumer)
|
serializer = ConsumerDetailSerializer(instance=consumer)
|
||||||
payload = jwt_payload_handler(consumer)
|
payload = jwt_payload_handler(consumer)
|
||||||
token = jwt_encode_handler(payload)
|
token = jwt_encode_handler(payload)
|
||||||
return Response({"token":token,"session_key":session_key, "openid":openid, "userinfo":serializer.data})
|
return Response({"token":token,"session_key":session_key, "openid":openid, "userinfo":serializer.data})
|
||||||
|
|
Loading…
Reference in New Issue