Python web开发,django orm查询返回queryset转json

使用 django的ORM方法查询数据,转成json。(暂没试value_list,它返回的是元组形式的queryset,没有写自定义函数来处理)

def mydownlist(request):
    # list = Filelist.objects.all()
    # responce = serializers.serialize("json", list)
    # return HttpResponse(responce)


    list1 = Filelist.objects.values('intime', 'filename','status')
    response = JsonResponse({"status":"ok","data":dictFetchOrm(list1)})
    response['Access-Control-Allow-Origin'] = '*'
    return response

自定义函数如下:

#生成字典格式方法--适用于django 原生sql查询
def dictFetchAll(cursor):
    desc = cursor.description
    return [
        dict(zip([col[0] for col in desc], row))
        for row in cursor.fetchall()
    ]
#生成json格式--适用于orm查询的办法
def dictFetchOrm(para):
    resDic=[]
    for i in para:
        resDic.append(i)
    return json.dumps(resDic,ensure_ascii=False)

原生使用:

from django.http import HttpResponse,JsonResponse

def users(request):
    cursor = connection.cursor()
    cursor.execute("select * from users")
    tmpres = dictFetchAll(cursor)

    data = {
            "code":0,
            "data": tmpres,
            }
    return JsonResponse(data)

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python Web开发框架Django是一个高效、灵活、易于使用的Web开发框架,它采用了MVC(Model-View-Controller)的设计模式,提供了强大的数据库访问、模板引擎、表单处理、安全性、缓存等功能,可以帮助开发者快速构建高质量的Web应用程序。Django还拥有丰富的社区资源和文档支持,是Python Web开发的首选框架之一。 ### 回答2: Python作为一种解释性高级编程语言,在软件开发领域中具有广泛的应用。特别是在Web开发中,Python拥有许多优秀的框架。其中,Django框架无疑是Python Web开发领域中最具代表性和广泛应用的框架之一。 Django是一个强大的MVC架构的Web开发框架,它提供了许多高效的开发工具和组件,大大提高了Web开发效率。Django是开源的,拥有强大的社区支持,因此Django的文档和教程也非常丰富。它可以方便地实现数据库连接、数据存储、模板引擎、表单验证、缓存、安全性等多种功能。 使用Django开发Web应用还有以下优势: 1. 易用性:Django提供了很多优秀的工具和组件,让开发者非常容易上手。它也提供了完整的开发文档和教程,开发者可以很轻松地获得帮助。 2. 丰富的生态圈:Django拥有庞大的社区和活跃的生态圈,开发者可以获得许多开源组件和插件,大大提高项目开发效率。 3. 安全性:Django在安全方面给予了非常多的重视,提供了许多系统级别的安全性保护措施,如跨站点请求伪造(CSRF)防范、基于角色的访问控制(RBAC)等功能,大大提高了Web应用的安全性。 4. 扩展性:Django支持多种可扩展性,包括应用扩展和数据库模型扩展,可以方便地进行业务扩展。 总之,Django是一款非常出色的Web开发框架,它在Python Web开发领域中具有广泛的应用。它提供了高效的工具和组件,可以提高Web项目的开发效率和安全性,使得开发者可以更加专注于业务功能的实现。同时,Django也拥有庞大的社区和生态圈,可以提供更多的支持和帮助。 ### 回答3: Python Web开发框架Django是一个高效、可扩展、开源的Web框架。Django提供了基于MVC的架构,通过框架内置的ORM映射实现数据的管理,减少了复杂的SQL书写。Django并且强调了代码的重用,实现了很好的模块化和组件化设计,使得开发者可以高效地开发出高质量的Web应用。 Django具有以下优点: 1. 自动化管理:Django提供了一个管理界面,可以快速地创建、编辑、更新和删除数据库中的模型,省去了许多手动书写SQL命令的工作。 2. 易于扩展:Django允许开发者自定义模型、视图、模板等等,轻松实现页面的动态化。 3. 安全性高:Django自带的用户认证系统以及各种内置的安全机制使得Web应用在保护用户隐私方面更为出色。 4. 生产力高:Django的极致简洁(DRY原则),加上丰富的功能模块和库,大大提高了Web应用的开发效率和生产力。 5. 社区成熟:Django是一个开源的平台,其社区非常强大,拥有大量的资深开发者和高质量的文档与教程,能够帮助开发者快速解决问题。 总之,Django技术具有强大的处理能力和灵活性,可以满足复杂的Web应用需求,极大的降低了开发者的工作难度,大大提高了Web应用开发的效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值