zoukankan      html  css  js  c++  java
  • Django 序列化数据之单表数据序列化

    类型一:对于表单数据进行序列化

    ret['errors'] = obj.errors.as_data()
    result = json.dumps(ret, cls=JsonCustomEncoder)  #JsonCustomEncoder是自定义的cls,用来转换ret中特殊的error字段类型
    return HttpRespon(result)

    类型二:对于queryset类型进行序列化  

    第一种:v的类型是未知的
        from django.core import serializers
         
        v = models.tb.objects.all() # 或者 v = models.tb.objects.values('id','name')  v=list(v)
        data = serializers.serialize("json", v)
         
    第二种:v的类型是已知的,在包含不能序列化的数据,比如time,datetime等类型时,需要自己定义cls
         
        import json
        from datetime import date
        from datetime import datetime
            
        class JsonCustomEncoder(json.JSONEncoder):
             
            def default(self, field):
              
                if isinstance(field, datetime):
                    return field.strftime('%Y-%m-%d %H:%M:%S')
                elif isinstance(field, date):
                    return field.strftime('%Y-%m-%d')
                else:
                    return json.JSONEncoder.default(self, field)
     
        v = models.tb.objects.values('id','name','ctime')
        v = list(v)
        v = json.dumps(v,cls=JsonCustomEncoder)

     

  • 相关阅读:
    shiro之cache问题
    SpringMVC关于请求参数乱码问题
    js递归错误
    说说Javac
    说说CDN
    谈谈HTTP
    谈谈Ajax(二)
    谈谈Ajax(一)
    记一次关于SSM框架的使用错误
    MP实战系列(十四)之分页使用
  • 原文地址:https://www.cnblogs.com/supery007/p/12566692.html
Copyright © 2011-2022 走看看