django 查询数据库得到的结果序列化成json字符串

# -*- coding: utf-8 -*-
 
class GoodsListView(View):
 
    def get(self, request):
 
    1、方法一:(for in 循环遍历model)
        # 定义一个空列表
        json_list = []
        goods = Goods.objects.all()[:10]
        for good in goods:
            json_dict = {}
            json_dict["name"] = good.name
            json_dict["category"] = good.category.name
            json_dict["market_price"] = good.market_price
            json_dict["add_time"] = good.add_time
            json_list.append(json_dict)
        from django.http import HttpResponse
        import json
        # 序列化成json字符串,返给前台
        return HttpResponse(json.dumps(json_list), content_type="application/json")
 
    2、方法二:(django自带的serializers序列化model)(推荐使用此方法)
        import json 
        from django.core import serializers
        json_data = serializers.serialize('json', goods)
        json_data = json.loads(json_data)
        from django.http import HttpResponse, JsonResponse
        return JsonResponse(json_data, safe=False)
 
    3、方法三:(model_to_dict方法)
        from django.forms.models import model_to_dict
        for good in goods:
            json_dict = model_to_dict(good)
            json_list.append(json_dict)

版权声明:本文为CSDN博主「chainbees」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_33867131/article/details/80910178

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容