当前位置: 首页 > 编程笔记 >

django 数据库返回queryset实现封装为字典

何浩荡
2023-03-14
本文向大家介绍django 数据库返回queryset实现封装为字典,包括了django 数据库返回queryset实现封装为字典的使用技巧和注意事项,需要的朋友参考一下

默认情况下,Python DB API会返回不带字段的结果,这意味着你得到的是一个列表,而不是一个字典。花费一点性能代价之后,你可以返回一个字典形式的结果,像这样:

def dictfetchall(cursor):
 "Returns all rows from a cursor as a dict"
 desc = cursor.description
 return [
  dict(zip([col[0] for col in desc], row))
  for row in cursor.fetchall()
 ]

demo:

from django.db import connection
if __name__ == '__main__':
  """db=db_operate()
  sql='select DISTINCT t1.HostName,t2.IpAddress,t2.RegName,t2.AppUser,t2.`Desc` from machineinfo as t1,asset_appregioninfo as t2 where t1.IpAddress=t2.IpAddress;'
  result=db.mysql_command(settings.conn, sql)
  dic=dict(result)
  print dic
  """
  cur=connection.cursor()
  cur.execute('select DISTINCT t1.HostName,t2.IpAddress,t2.RegName,t2.AppUser,t2.`Desc` from machineinfo as t1,asset_appregioninfo as t2 where t1.IpAddress=t2.IpAddress;')
  dic=dictfetchall(cur)
  print dic

这样在前台,就可以通过

{%for i in dic%}
{i.字段}

生成列表了

补充知识:[django] queryset系列化3种方式model_to_dict、serializers

我就废话不多说了,大家还是直接看代码吧!

# 序列化方式1:
from django.forms.models import model_to_dict
import json
data=[]
for obj in book_list:
  data.append(model_to_dict(obj))
print(data)
return HttpResponse("ok")

# 序列化方式2:
data=serializers.serialize("json",book_list)
return HttpResponse(data)

# 序列化方式3:
bs=BookSerializers(book_list,many=True)
return Response(bs.data)

以上这篇django 数据库返回queryset实现封装为字典就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍Python的Django框架实现数据库查询(不返回QuerySet的方法),包括了Python的Django框架实现数据库查询(不返回QuerySet的方法)的使用技巧和注意事项,需要的朋友参考一下 一、创建模型类: 执行以下命令,进行数据库的迁移: python manage.py makemigrations app_name[应用的名称] python manage.py m

  • 本文向大家介绍django实现HttpResponse返回json数据为中文,包括了django实现HttpResponse返回json数据为中文的使用技巧和注意事项,需要的朋友参考一下 Python3读取写入json的中文乱码问题 之前我用django一般用JsonResponse来返回json数据格式 但是发现返回中文的时候会乱码 这种方式返回简单,但是中文会乱码 现在改成用HttpRespo

  • 本文向大家介绍使用Django的JsonResponse返回数据的实现,包括了使用Django的JsonResponse返回数据的实现的使用技巧和注意事项,需要的朋友参考一下 urls.py 在views.py中创建show_view函数 到此这篇关于使用Django的JsonResponse返回数据的实现的文章就介绍到这了,更多相关Django JsonResponse内容请搜索呐喊教程以前的文

  • 本文向大家介绍Python3实现的Mysql数据库操作封装类,包括了Python3实现的Mysql数据库操作封装类的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python3实现的Mysql数据库操作封装类。分享给大家供大家参考,具体如下: 这段代码需要注意几个地方: 1.数据库配置文件变量放在类外面,只在模块被载入的时候读一次,在使用数据库类时,无需再读取。这样有一个好处就是减少了IO

  • 我遇到了这样的错误: 回溯: 文件“/usr/local/lib/python2.7/dist packages/django/core/handlers/exception.py”,位于内部41。响应=获取响应(请求) 文件“/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py”,位于_-get_-response

  • 本文向大家介绍php简单实现查询数据库返回json数据,包括了php简单实现查询数据库返回json数据的使用技巧和注意事项,需要的朋友参考一下 示例代码一: 示例代码二: 以上所述就是本文的全部内容了,希望大家能够喜欢。