美文网首页
对一个序列化的深度控制

对一个序列化的深度控制

作者: dream_seeker | 来源:发表于2019-03-05 20:27 被阅读0次

    #序列化

    import json
    
    #序列化类
    class RolesSerializer(serializers.Serializer):
        # 必须给数据库的字段一致(序列化组件)
        title = serializers.CharField()
        
        ##title = serializers.CharField(source="get_user_type_display") <<<<<<<++ source:这个方法会获取这个字段对应的内容
        #一对多 title = serializers.CharField(source="group.id") <<<< 可以用点关系取出关联的数据
        #
        
    
    
    对一个序列化的深度控制
    class UserInfo(serializers.Serializer):
        title = serializers.CharField(source="get_user_type_display") <<<<<<<++ source:这个方法会获取这个字段对应的内容
        class Meta:
            model = models.UserTofo #对哪个模板类进行序列化
            fields = "__all__" #对模块的所有字段进行操作
            depth = 1 #深度控制,数字表示进入的层次
    #视图类,接收请求,返回响应
    class RolesView(APIView):
        def get(self, request, *args, **kwargs):
            
            roles = models.Role.objects.all()   #从数据库中获取数据
            
            ser = RolesSerializer(instance=roles, many=True)   #序列化 instance=roles#要序列化的模型类
    
            return HttpResponse(json.dumps(ser.data))

    相关文章

      网友评论

          本文标题:对一个序列化的深度控制

          本文链接:https://www.haomeiwen.com/subject/sacauqtx.html