"""定制Serializer
"""
from rest_framework import serializers, response
from django.contrib.auth.models import User
from app_models.models import UserExtra, UserAsset
from rest_framework.decorators import api_view
[文档]class UserAllInfoSerializer(serializers.ModelSerializer):
api_desc = serializers.SerializerMethodField('api_comment')
phone = serializers.SerializerMethodField('user_phone')
qq = serializers.SerializerMethodField('user_qq')
balance = serializers.SerializerMethodField('user_balance')
[文档] def user_phone(self, pk):
user_extra = UserExtra.objects.get(user_id=pk)
return user_extra.phone
[文档] def user_qq(self, pk):
user_extra = UserExtra.objects.get(user_id=pk)
return user_extra.qq
[文档] def user_balance(self, pk):
# balance = UserAsset.objects.filter(user_id=pk).values_list('balance', flat=True)[0]
user_asset = UserAsset.objects.get(user_id=pk)
balance = user_asset.balance
return balance
[文档]@api_view()
def show_user_all_info(request, pk=None):
user = User.objects.get(id=pk)
user_all_info_serializer = UserAllInfoSerializer(user)
return response.Response({'user':user_all_info_serializer.data})