首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

django执行原始查询sql,并返回Dict字典例子

很多时候执行sql语句,数据比django的model来的快,但并不想关心返回的字段,例如你可以执行:select * from product这种sql,这里个方法将会返回与数据库列名相同的键值对 ,...# coding:utf-8 from django.db import connection, transaction '''执行django原始sql语句 并返回一个数组对象''' def executeQuery...的mysql驱动实现原生sql语句查询返回字典类型数据 在使用django的时候,有些需求需要特别高的查询效率,所以需要使用原生的sql语句查询,但是查询结果一般是一个元组嵌套元组。...为了处理方便,需要从数据库查询后直接返回字典类型的数据。...以上这篇django执行原始查询sql,并返回Dict字典例子就是小编分享给大家的全部内容了,希望能给大家一个参考。

1.5K20

django 1.8 官方文档翻译: 2-5-2 进行原始的sql查询

网站:http://python.usyiyi.cn/django/index.html 进行原始的sql查询 在模型查询API不够用的情况下,你可以使用原始的sql语句。...django提供两种方法使用原始sql进行查询:一种是使用Manager.raw()方法,进行原始查询返回模型实例;另一种是完全避开模型层,直接执行自定义的sql语句。...进行原始查询 raw()方法用于原始的sql查询,并返回模型的实例: Manager.raw(raw_query, params=None, translations=None) 这个方法执行原始的sql...查询之后,返回django.db.models.query.RawQuerySet的实例。...注意 SQLite后端不支持字典,你必须以列表的形式传递参数。 警告 不要在原始查询中使用字符串格式化!

89420
您找到你想要的搜索结果了吗?
是的
没有找到

django模型

列 每个模型只能有一个字段指定primary_key=True (无论是显式声明还是自动添加) 字段的自述名 每个字段类型都接受一个可选的位置参数——字段的自述名,如果没有给定自述名, Django...要创建这样一个子集,你需要在原始的的查询集上增加一些过滤条件。两个最普遍的途径 是: filter(**kwargs)返回一个新的查询集,它包含满足查询参数的对象。...指定显示列 values(返回一个列表) 返回一个ValuesQuerySet——QuerySet的一个子类,迭代时返回字典而不是模型实例对 象。...每个字典表示一个对象,键对应于模型对象的属性名称。 values()接收可选的位置参数fields,它指定SELECT应该限制哪些字段。如果指定字段, 每个字典将只包含指定的字段的键/值。...User.objects.values("id", "username") values_list(返回一个元组) 与values()类似,只是在迭代时返回的是元组而不是字典

3.1K20

python 终级篇 django --

()非常相似,它返回的是一个元组序列,values返回的是一个字典序列 order_by(*field): 对查询结果排序 reverse():...() 特殊的QuerySet values()       返回一个可迭代的字典序列 values_list() 返回一个可迭代的元祖序列 返回具体对象的 get() first() last() 返回布尔值的方法有...聚合查询和分组查询                                 聚合    aggregate()是QuerySet 的一个终止子句,意思是说,它返回一个包含一些键值对的字典。...我们使用原生SQL语句,按照部门分组求平均工资: select dept,AVG(salary) from employee group by dept; ORM查询: from django.db.models...# 条件可以是:参数,字典,Q def exclude(self, *args, **kwargs) # 条件查询 # 条件可以是:参数,字典,Q def select_related

2.8K20

Django学习笔记之Django ORM相关操作

,运行后得到的并不是一系列model的实例化对象,而是一个可迭代的字典序列 values_list(*field): 它与values()非常相似,它返回的是一个元组序列,values返回的是一个字典序列...() 特殊的QuerySet values()       返回一个可迭代的字典序列 values_list() 返回一个可迭代的元祖序列 返回具体对象的 get() first() last() 返回布尔值的方法有...聚合查询和分组查询 聚合 aggregate()是QuerySet 的一个终止子句,意思是说,它返回一个包含一些键值对的字典。 键的名称是聚合值的标识符,值是计算出来的聚合值。...我们使用原生SQL语句,按照部分分组求平均工资: select dept,AVG(salary) from employee group by dept; ORM查询: from django.db.models...# 条件可以是:参数,字典,Q def exclude(self, *args, **kwargs) # 条件查询 # 条件可以是:参数,字典,Q def select_related

3.5K40

ORM常用操作

,运行后得到的并不是一系列model的实例化对象,而是一个可迭代的字典序列 values_list(*field): 它与values()非常相似,它返回的是一个元组序列,values返回的是一个字典序列...() exelude() order_by() reverse() distinct() 特殊的QuerySet values() 返回一个可迭代的字典序列 values_list...() 返回一个可迭代的元祖序列 返回具体对象的 get() first() last() 返回布尔值的方法有 exists() 返回数字的方法有 count() 单表查询之神奇的双下划线 models.Tb1...聚合/分组及 聚合 aggregate()是QuerySet 的一个终止子句,意思是说,它返回一个包含一些键值对的字典。 键的名称是聚合值的标识符,值是计算出来的聚合值。...# 条件可以是:参数,字典,Q def exclude(self, *args, **kwargs) # 条件查询 # 条件可以是:参数,字典,Q def select_related

1.9K10

Django ORM那些相关操作

,运行后得到的并不是一系列model的实例化对象,而是一个可迭代的字典序列 values_list(*field): 它与values()非常相似,它返回的是一个元组序列,values返回的是一个字典序列... count(): 返回数据库中匹配查询(QuerySet)的对象数量。...() 特殊的QuerySet values()       返回一个可迭代的字典序列 values_list() 返回一个可迭代的元祖序列 返回具体的对象 get() first() last() 返回布尔值的方法...聚合查询和分组查询 聚合 aggregate()是QuerySet 的一个终止子句,意思是说,它返回一个包含一些键值对的字典。 键的名称是聚合值的标识符,值是计算出来的聚合值。...models.Book.objects.annotate(author_num=Count("author")).filter(author_num__gt=1) ]> 示例4:根据一本图书作者数量的多少对查询

2.3K60

django框架】共4大模块50页md学习文档 第3篇:django路由和网络请求使用详解

匹配 根据url配置的先后顺序, 从 上到下进行URL匹配 在 项目下匹配成功的URL部分会去掉,剩下的部分继续到应用下作匹配 如果匹配成功,Django会调用对应的视图函数,返回响应内容给浏览器显示...如果最终匹配不成功, Django 会给浏览器返回404错误 3....HttpRequest 对象中的 GET 和 POST 属性 都是 QueryDict类型 与python字典不同: QueryDict 对象一个键可以保存多个值 get()方法 根据键值 如果一个键同时拥有多个值...,将最后一个值 如果键不存在则返回None值,可以设置返回自定义的默认值 dict.get('键',默认值) getlist()方法 根据键多个值,值以列表返回 如果键不存在则返回空列表[] dict.getlist...无法自动解析,可以通过request.body属性最原始的请求体数据,自己按照请求体格式(JSON、XML等)进行解析。

14020

提高Djang查询速度的9种方法

).order\_by('field2')查询集的延迟加载使得我们可以根据实际需求灵活地构建查询,并避免不必要的数据库查询操作。...使用select_related进行关联查询在涉及到关联表的查询中,使用select_related()方法可以减少数据库查询的次数。...延迟计算字段有时,我们可能需要在模型中定义一些根据其他字段计算得出的字段,这些字段不会被存储在数据库中,而是在查询时动态计算。Django提供了@property装饰器来定义延迟计算字段。...使用values()和values_list()方法选择需要的字段默认情况下,查询返回完整的模型对象。...values()方法返回一个字典列表,每个字典对应一个模型对象的字段和值:values = MyModel.objects.values('field1', 'field2')values_list()

21720

Django项目知识点(四)

QuerySet实例 就是从数据库根据自己要求拿数据的 连数据都那不出来,写啥视图 所以在编写queryset必须用django shell 调试 在model中,Django通过给Model增加一个objects...values() 返回包含对象具体值的字典的QuerySet values_list() 与values()类似,只是返回的是元组而不是字典。...dates() 根据日期获取查询集 datetimes() 根据时间获取查询集 none() 创建空的查询集 all() 获取所有的对象 union() 并集 intersection...() 交集 difference() 差集 select_related() 附带查询关联对象 prefetch_related() 预先查询 extra() 附加SQL查询...tags = Tag.objects.only('name').filter(is_delete=False) values() only() 返回的是queryset字典,不是对象,only才是返回的是对象

1.5K30

Django:models查询和前后端交互

django-model查询语句: 基本操作: 获取所有数据: User.objects.all() 对应SQL语句:select * from User 匹配查询数据: User.objects.filter...(条件 = '条件' ) 条件可以有N个,以逗号分隔 对应SQL语句:select * from User where 条件 = "条件" 不匹配查询语句: User.objects.exclude...变量 }} 结构: {{ }} 双大括号包括起来的是变量 {% %} 模式是块,可以用if和for之类的语句进行遍历 | 括号中的值末尾加“|”,可以使用筛选器,筛选结果 直接在html文件的几乎任意位置使用...思路:把你想要的值(无论是数组、整形、字符串、字典还是别的什么混合结构),用 {{ 名称}} 的格式返回给JS代码中的某个变量,然后就可以自由自在的运用它了。...示例: 1.使用ajax方法向url "mysite/foobar/"发送请求 2.当访问url “mysite/foobar/” 的时候,调用Views里的函数 foobar,采用某个函数,返回我们要的字典

73720

【愚公系列】2022年01月 Python教学课程 46-Django框架之HttpRequest

文章目录 一、HttpRequest对象 1.URL路径参数 2.位置参数 3.关键字参数 二、Django中的QueryDict对象 1.查询字符串Query String 2.请求体 3.表单类型...get():根据键获取值 如果一个键同时拥有多个值将获取最后一个值 如果键不存在则返回None值,可以设置默认值进行后续处理 get('键',默认值) 方法getlist():根据键获取值,值以列表返回...,可以获取指定键的所有值 如果键不存在则返回空列表[],可以设置默认值进行后续处理 getlist('键',默认值) 1.查询字符串Query String 获取请求路径中的查询字符串参数(形如?...无法自动解析,可以通过request.body属性获取最原始的请求体数据,自己按照请求体格式(JSON、XML等)进行解析。...FILES:一个类似于字典的对象,包含所有的上传文件。

99160

重点内容回顾-DRF

/bin/bash 也许每个人电脑中bash的位置不同,根据自己电脑写即可,mac和Ubuntu中是不同的。...request.data保存的是解析之后的请求体的数据,并且已经解析成了字典或类字典,相当于包含Django原始request对象中的request.body/request.POST/request.FILES...request.query_params保存解析之后的查询字符串的数据,并且已经解析成了字典或类字典,相当Django原始request对象中的request.GET 2.响应时可以统一返回Response...Response类的对象:传入原始的响应数据,会自动根据客户的请求头中 Accept将响应数据转换为对应的格式进行返回,默认是json,仅支持json和html 3.异常处理:如果视图中抛出了未处理异常...数据库查询 属性: queryset(指定视图所使用的查询集) 方法: get_queryset返回视图所使用的查询集 get_object从视图所使用的查询集中查询指定的对象,默认根据pk进行查询

2.4K20

后端框架学习-Django

此函数可以接收浏览器请求并根据业务逻辑返回相应的响应内容给浏览器。...后的值),QueryDict查询字典的对象 POST:拿POST表单里的数据,即用户提交的数据,QueryDict查询字典的对象 FILES:类似于字典的对象,拿文件 COOKIES session body...在该模式下依然存在控制层C,即主路由 Django模板层 模板层创建 模板:根据字典数据动态变化的html网页,根据视图中传递的字典数据动态生成相应的html页面 模板配置: 创建模板文件夹 ...缺点: 对于复杂业务,使用成本较高 根据对象的操作转换为SQL语句,根据查询结果转化为对象,在映射过程中有性能损失。...values(‘字段1’,’字段2’) 等价于select 列1,列2 from xxx 返回:QuerySet,但内部存字典,每一个字典代表一个数据 如: <QuerySet [{'title

9.3K40

Django相关知识点回顾

2.web框架程序进行路由分发(根据url找到对应的处理函数)。 3.调用web框架程序的处理函数中进行业务的处理。 4.web服务器组织响应报文,返回内容给客户端。...a=1&b=2&c=3&c=4 # flask: request.args # django: reequest.GET -> QueryDict类的对象,类似于字典,和字典区别:允许一键多值 def...中request请求对象的属性 说明 args GET 查询字符串参数 form POST 请求体中的表单数据 data body 请求体中的原始bytes数据 method method 请求方式 path...' 4.将session信息存储到redis中 需要安装扩展: pip install django-redis 然后再配置中进行设置 # 设置Django框架的缓存位置(如果不做设置,缓存默认是服务器内存...聚合 查询时进行聚合操作 字典:{'属性名_聚合类小写':值} count 无 返回查询结果的数目 数字 条件查询: 对应get,filter,exclude参数中可以写查询条件 格式:属性名__条件名

10K51
领券