zoukankan      html  css  js  c++  java
  • Django视图,与数据库交互并返回数据

    环境:python 2.7.13  数据库:sqlite3(Django自带)  

    在学习Django的时候,遇到了困难。大概就是取到数据库数据后一直不能转成json数据。最后终于自己琢磨解决了。

    要点就是在通过Django API与sqlite数据库做交互时,要看清楚返回的对象是什么类型。

    首先,与数据库做交互,简单来说,无非就是增删改查。首先来说一说“查”,以后会陆续更新其他

    在网上查了几种比较常用的方法

    models.UserInfo.objects.all()
    models.UserInfo.objects.all().values('user')    #只取user列
    models.UserInfo.objects.all().values_list('id','user')    #取出id和user列,并生成一个列表
    models.UserInfo.objects.get(id=1)
    models.UserInfo.objects.get(user='yangmv')
     
    当采用models.Interface.objects.all()来查询的时候,笔者源代码如下
    def returndata(request):
        info = models.Interface.objects.all()
        isdict = serializers.serialize('json', info)
        return HttpResponse(isdict, content_type="application/json")

    此时通过打断点可以看到info的类型为QuerySet

    此时我们用serializers.serialize('json', info),来解析转换即可,最后通过HttpResponse正常返回

    当采用models.Interface.objects.get(payload=123456)来查询的时候,笔者源代码如下

    def returndata(request):
        info = models.Interface.objects.get(payload=123456)
        response_data = {}
        isdict = model_to_dict(info)
        response_data["resultcode"] = 0
        response_data["message"] = isdict
        return HttpResponse(JsonResponse(response_data), content_type="application/json")

    此时通过打断点可以看到info的类型为Interface

    此时我们用model_to_dict(info),来解析转换即可,最后通过HttpResponse正常返回

  • 相关阅读:
    将网址设为首页和添加到收藏夹(JS脚本)
    窗体居中一句话
    链接跳转JS
    工厂学习心得(三)Asp.net
    工厂模型学习心得(一)(ASP.Net)
    ubuntu终端快捷键
    Win7锐捷:无法找到网卡或系统未完成网卡初始化操作.请稍后再尝试认证
    Xming的使用
    在Windows上建立ssh服务器
    Windows XP循环启动
  • 原文地址:https://www.cnblogs.com/semishigure/p/7498608.html
Copyright © 2011-2022 走看看