zoukankan      html  css  js  c++  java
  • Django1.11 的serializers序列化model

    开发环境:Django1.11  Python3

    如果想把很多model转化成json格式可以直接这样写:

    from django.views.generic.base import View
    from django.http import HttpResponse
    from django.core import serializers
    
    from goods.models import Goods
    
    
    class GoodsListView(View):
    
        def get(self, request):
            # 取前十个good的model
            goods = Goods.objects.all()[:10]
            # 利用serializers的serialize直接把所有model转化成json格式
            json_data = serializers.serialize('json', goods)  
            # 必须要标明返回的 content_type 是 application/json
            return HttpResponse(json_data, content_type='application/json')

    当然你也可以用Django的 JsonResponse,直接返回Ptyhon字典、列表等(可以dump成json格式)的type

    from django.views.generic.base import View
    from django.http import JsonResponse
    from django.forms.models import model_to_dict
    
    from goods.models import Goods
    
    class GoodsListView(View):
    
        def get(self, request):
            json_list = []
            for good in goods:
                json_data = model_to_dict(good)
                json_list.append(json_data)
            # 这里要把safe设置成False,否则会Django报错,可以点进去看JsonResponse源码
            return JsonResponse(json_list, safe=False)    
  • 相关阅读:
    驱动_spi驱动框架
    代码示例_陀螺仪_I2C
    控制台查看 pip 版本的指令
    更新升级(upgrade) pip 出错问题解决
    105. 从前序和中序遍历序列构造二叉树
    TCP初步了解
    Java GUI 之 JSplitPane
    URL的含义
    JPanel与JFrame的关系
    IDEA禁用函数名拼写错误提示
  • 原文地址:https://www.cnblogs.com/wangchaowei/p/7598668.html
Copyright © 2011-2022 走看看