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)

     

  • 相关阅读:
    文件操作相关utils
    读取excel工具utils
    下载EXCEL文件Utils
    日期操作utils
    常用的utils
    坐标系转换Utils
    C# vs2019 CS0006 编译器错误CS1704
    C# 控制台形式 owin 添加WebApi 和Swagger
    Windows 下 Redis服务自动停止 处理
    Dotfuscator 混淆C# .Net代码 netcore
  • 原文地址:https://www.cnblogs.com/supery007/p/12566692.html
Copyright © 2011-2022 走看看