• python之路--web--2--Django-10--序列化


    八、序列化

    关于Django中的序列化主要应用在将数据库中检索的数据返回给客户端用户,特别的Ajax请求一般返回的为Json格式。

    1、serializers

    1 from django.core import serializers
    2  
    3 ret = models.BookType.objects.all()
    4  
    5 data = serializers.serialize("json", ret)

    2、json.dumps

    1 import json
    2  
    3 #ret = models.BookType.objects.all().values('caption')
    4 ret = models.BookType.objects.all().values_list('caption')
    5  
    6 ret=list(ret)
    7  
    8 result = json.dumps(ret)

    由于json.dumps时无法处理datetime日期,所以可以通过自定义处理器来做扩展,如:

     1 import json  
     2 from datetime import date  
     3 from datetime import datetime  
     4    
     5 class JsonCustomEncoder(json.JSONEncoder):  
     6     
     7     def default(self, field):  
     8      
     9         if isinstance(field, datetime):  
    10             return o.strftime('%Y-%m-%d %H:%M:%S')  
    11         elif isinstance(field, date):  
    12             return o.strftime('%Y-%m-%d')  
    13         else:  
    14             return json.JSONEncoder.default(self, field)  
    15    
    16    
    17 # ds = json.dumps(d, cls=JsonCustomEncoder)  
  • 相关阅读:
    页面跳转刷新
    表格表头绘制对角线(不固定表格宽高)
    发送邮件的工具类
    重写equals()和hashCode()
    设计模式--原型模式[转载]
    设计模式--外观模式
    设计模式--代理模式
    js处理json js递归
    MySQL锁详解
    开发一个微信小程序实例教程
  • 原文地址:https://www.cnblogs.com/eaglesour/p/7988925.html
Copyright © 2020-2023  润新知