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)

     

  • 相关阅读:
    记录。短信网关.
    TP 笔记~
    FUCK IE FLASH(inline hook)
    API HOOK(MessageBoxA)
    inline hook MessageBox(2)
    c#线程中使用 dataset
    匈牙利算法解决二分图最大匹配
    C#:Array类的排序
    C#:属性
    C#:结构
  • 原文地址:https://www.cnblogs.com/supery007/p/12566692.html
Copyright © 2011-2022 走看看