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

Django SQL get查询返回一个<键,value>哈希图,如何取值?

在Django中,SQL get查询返回的结果是一个包含键值对的哈希图,可以通过以下方式取值:

  1. 使用点号(.)操作符:可以通过键名直接使用点号操作符来获取对应的值。例如,如果查询结果的键名为key,可以使用result.key来获取对应的值。
  2. 使用方括号([])操作符:可以通过键名使用方括号操作符来获取对应的值。例如,如果查询结果的键名为key,可以使用result['key']来获取对应的值。

需要注意的是,如果查询结果中不存在指定的键名,将会引发KeyError异常。因此,在取值之前,最好先进行键名的存在性检查。

以下是一个示例代码:

代码语言:txt
复制
# 假设查询结果为result
if 'key' in result:
    value = result['key']
    # 或者 value = result.key
    print(value)
else:
    print("键名不存在")

对于Django SQL get查询返回的<键,value>哈希图,可以根据具体的业务需求进行取值操作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

哈希函数如何工作 ?

get(key) { let b = this.bucket(key); let e = this.entry(b, key); if (e) { return e.value...如果找到条目,则返回其值。如果没有找到,则返回 null。 这是相当多的代码。您应该从中了解的是,我们的哈希映射是一个列表列表,并且哈希函数用于知道要从哪个列表中存储和检索给定的。...这是该哈希图的实际操作的直观表示。单击存储桶上的任意位置,使用我们的 set 方法添加新的键值对。为了保持可视化简单,如果一个存储桶“溢出”,则所有存储桶都将被重置。...为了从哈希映射中获取值,我们首先对进行哈希计算,以确定该值将位于哪个存储桶中。然后,我们必须将要搜索的与存储桶中的所有进行比较。...让我们看看 stringSum 是如何做的。 有趣的是, stringSum 似乎可以很好地分配值。您会注意到一种模式,但整体分布看起来不错。 没那么快,斯基。我们需要讨论一个严重的问题。

21530

Django JSONField SQL注入漏洞(CVE-2019-14234)分析与影响

作为铁杆Django用户,发现昨天Django进行了更新,且修复了一个SQL注入漏洞。在我印象里这应该是Django一个SQL注入漏洞,且的确是可能在业务里出现的漏洞,于是进行了分析。...用伪SQL语句表示就是: WHERE `users`[1] [2] 'value' 位置[1]是transform,位置[2]是lookup,比如transform是寻找外表的字段username,lookup...get_transform函数应该返回一个可执行对象,你可以理解为工厂函数,执行这个工厂函数,获得一个transform对象。...0x04 Django-Admin SQL注入漏洞 我们创建一个Django项目并创建一个model,其中包含一个JSONField字段: class Collection(models.Model):...此时,我们直接修改GET参数,加入一个查询语句 detail__a%27b=1: ? 可见,已注入单引号导致SQL报错。

2K32

Django-官网查询部分翻译(1.11版本文档)-QuerySet-字段查找-06

:1.11 Making queries 进行查询 一旦你创建了 数据表模型类,django 会自动给你一些数据库抽象API,让你可以创建、查询、更新、删除对象,下文将介绍如何使用这些API(以一个网页应用为例展开...新创建的 QuerySet 的缓存(cache)是空的,QuerySet 第一次取值执行(evaluatad)的时候进行数据库查询操作,Django 会将查询结果保存到 QuerySet 的 cache...Retrieving a single object with get() 使用 get() 只取一个数据对象 . filter() 方法返回的是一个 QuerySet ,即使他里面只有一个数据对象,如果你确定查询结果只有一个对象...|The) +'; # -- MySQL,对于这个字段查询django orm 对应不同的 数据库 会解析成不同的 SQL 语句 __iregex # 忽略大小写的正则匹配 # 案例 Entry.objects.get...--> 推测是 遍历、取值,翻译成取值好像更合适一点) alias 别名 特别点 保存外字段那里,可以直接给外对象赋值一个对象(blog 对象 --> blog 属性) cache

2.9K20

Django 2.1.7 视图 - HttpReqeust对象、QueryDict对象

关于视图的篇章 Django 2.1.7 视图 Django 2.1.7 MVT模型示例 - 查询数据,返回渲染模板数据 Django 2.1.7 视图 - 自定义404错误、500错误 在前面的篇章基本讲述了视图的使用...方法get():根据取值 如果一个同时拥有多个值将获取最后一个值 如果不存在则返回None值,可以设置默认值进行后续处理 dict.get('',默认值) 可简写为 dict[''] 例如...return HttpResponse(response % (server_name, middlewareinfo_name)) 方法getlist():根据取值,值以列表返回,可以获取指定的所有值...如果不存在则返回空列表[],可以设置默认值进行后续处理 dict.getlist('',默认值) GET请求 请求格式:在请求地址结尾使用?...问:表单form如何提交参数呢? 答:表单控件name属性的值作为value属性的值为值,构成键值对提交。 如果表单控件没有name属性则不提交。

1.5K20

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

文章目录 一、HttpRequest对象 1.URL路径参数 2.位置参数 3.关键字参数 二、Django中的QueryDict对象 1.查询字符串Query String 2.请求体 3.表单类型...) 二、Django中的QueryDict对象 HttpRequest对象的属性GET、POST都是QueryDict类型的对象 与python字典不同,QueryDict类型的对象用来处理同一个带有多个值的情况...方法get():根据取值 如果一个同时拥有多个值将获取最后一个值 如果不存在则返回None值,可以设置默认值进行后续处理 get('',默认值) 方法getlist():根据取值...,值以列表返回,可以获取指定的所有值 如果不存在则返回空列表[],可以设置默认值进行后续处理 getlist('',默认值) 1.查询字符串Query String 获取请求路径中的查询字符串参数...k1=v1&k2=v2),可以通过request.GET属性获取,返回QueryDict对象。 # /get/?

1K60

django的Session-10

目录 配置储存引擎 存储在sql数据库 储存在缓存 储存在本地文件 储存在redis session操作 django需要使用一个中间价来实现 session功能, 一般情况下默认启用了该中间价 ,可以在...存储在sql数据库 默认情况下,django将session存储在数据库中,在 settings.py 文件的 INSTALLED_APPS 配置项中确认有 'django.contrib.sessions...' 同时,必须正确配置SESSION_FILE_PATH(默认使用tempfile.gettempdir()方法的返回值),确保你的文件存储目录,以及Web服务器对该目录具有读写权限。...request.session['']=值 根据取值。 request.session.get('',默认值) 清除所有session,在存储中删除值部分。...del request.session[''] 设置session的有效期 request.session.set_expiry(value) 如果value一个整数,session将在value秒之后

45640

后端框架学习-Django

参数=值&参数=值 信息片段:#subject锚点,直接定位到网页指定位置 Django如何处理URL?...Django 同样支持方法的串联,以下方法在返回QuerySet后均可使用方法串联,且最终都会按照SQL顺序对数据库进行操作。 print(QuerySet.query)将取得实际的SQL语句。...('列')) 返回:QuerySet 原生数据库操作: 1.只用来查询:MyoModel.objects.raw(sql语句,拼接参数) 返回值:RawQuerySet集合对象,不支持方法串联,只支持基本的循环等...SQL注入问题: 使用原生语句,使用拼接参数的方式进行查询能适当避免SQL注入问题。...)) wife = Wife.objects.create(name=’王夫人’,author_id = 1(类属性字段绑值)) 一对一查询 正向查询:从外查对象 反向查询:从对象查外 调用反向属性查询到关联的一方

9.4K40

Django相关知识点回顾

] = '' 9.2.3获取 flask: session.get('') django: request.session.get('') 9.2.4Django中session...all 无 查询模型类对应表格中的所有数据 QuerySet(查询集) get 查询条件 查询满足条件一条且只能有一条数据 模型类对象,查不到会报错DoesNotExist filter 查询条件 返回满足条件的所有数据...聚合 查询时进行聚合操作 字典:{'属性名_聚合类小写':值} count 无 返回查询结果的数目 数字 条件查询: 对应get,filter,exclude参数中可以写查询条件 格式:属性名__条件名...注意:对于QuerySet类的对象,可以继续调用之前所讲任何一个查询函数。...查询结果的缓存 使用同一个查询集时,只有在第一次使用查询集时会进行数据库的查询操作,然后Django框架就会把查询的结果存起来,下一次再使用这个查询集时,使用的Django之前存储的结果。

10K51

每天 3 分钟,小闫带你学 Python(十六)

3.修改元素的思路便是根据查询到对应的值,然后再重新赋值,如下: 字典[""] = "值" 4.查询可以通过进行取值,也可以使用 get 方法。...print(item, end=",") ... name,age, 可以看到将所有的遍历并进行了输出 1.2.2 遍历字典的值 value >>> info = {"name": "EthanYan...("index:%d value:%s" % (index,value)) 输出结果为: index:0 value:name index:1 value:age 上述例子我们只遍历出了索引以及所有的...作业 1.自定义一个字典。 2.遍历字典中所有的、值、键值对。 3.遍历输出字典的值与其索引。 ?...优质文章推荐: redis操作命令总结 MySQL相关操作 SQL查询语句 前端中那些让你头疼的英文单词 Flask框架重点知识总结回顾 团队开发注意事项 浅谈密码加密 Django框架中的英文单词 Django

41520

Django中ORM操作

obj.save的方式,也可以使用create()的形式 QuerySet数据类型介绍 QuerySet与惰性机制 所谓惰性机制:Publisher.objects.all()或者.filter()等都只是返回一个...QuerySet(查询结果集对象),它并不会马上执行sql,而是当调用QuerySet的时候才执行。...,不应用books不会执行任何SQL操作 # query_set缓存机制1次数据库查询结果query_set都会对应一块缓存,再次使用该query_set时,不会发生新的SQL操作; #...关联表字段,values(外字段__关联表字段) 多对多:外字段.all() 反向连表操作总结: 通过valuevalue_list、fifter 方式反向跨表:小写表名__关联表字段...:小写表面 _set().all() 2、通过 valuevalue_list 方式反向跨表:小写表名__字段 小写的表名_set 得到有外关系的对象 obj = UserGroup.objects.all

4.7K10

Django ORM 多表操作(二)

Avg,Max,Min,Count,Sum # 引入函数 返回值: 分组后,用 values 取值,则返回值是 QuerySet 数据类型里面为一个个字典; 分组后,用 values_list...取值,则返回值是 QuerySet 数据类型里面为一个个元组 注意:MySQL 中的 limit 相当于 ORM 中的 QuerySet 数据类型的切片,annotate 里面放聚合函数 values...:每一个后表模型.objects.value('pk').annotate(聚合函数('关联表__统计字段')).values() # 查询一个书籍的名称,以及对应的作者个数 ret...(男,女,其他) 注意:对于choices参数我们该如何选择数据类型?...()) # 固定语法:get_字段名_display() ''' 固定语法结构取值get_字段名_display() 如果查询出来的数据不再choices范围内,会显示原始数据,比如gender只定义了

1K20

Django—视图

,QueryDict类型的对象用来处理同一个带有多个值的情况 方法get():根据取值 如果一个同时拥有多个值将获取最后一个值 如果不存在则返回None值,可以设置默认值进行后续处理...dict.get('',默认值) 可简写为 dict[''] 方法getlist():根据取值,值以列表返回,可以获取指定的所有值 如果不存在则返回空列表[],可以设置默认值进行后续处理...在Django中可以使用HttpRequest对象的GET属性获得get方方式请求的参数。 GET属性是一个QueryDict类型的对象,和值都是字符串类型。...问:表单form如何提交参数呢? 答:表单控件name属性的值作为value属性的值为值,构成键值对提交。 如果表单控件没有name属性则不提交。...request.session['']=值 2)根据取值。 request.session.get('',默认值) 3)清除所有session,在存储中删除值部分。

4.4K20

一篇文章带你了解Django ORM操作(高端篇)

如果压缩的是外,还可以取出外的详细信息。 示例:查询出每个出版社出版的数量。 通过研究表结构发现,每出版的书,都在book表中记录,并且每本书会外一个出版社id。 ?...`publish_id`; ORM分组和原生SQL对应图 这一块,我记得当初我迷茫了一段时间,主要是不知道如何和原生SQL对应上,根据多次测试经验,对应图如下。 ?...分组获取外字段信息 上述确实可以通过分组实现了功能。 但是上述只能获取出版社id,并不能获取出版社名啥的,但是如何获取压缩外字段详细信息呢?...本篇主要补充的是一些高端操作,例如聚合操作,分组操作,分组再筛选操作,F查询和Q查询如何动态构造Q查询。 相对来说,Django还是自由度比价高的,而且写起来确实比较省心。...我是码农星期八,如果觉得还不错,记得动手点赞一下。感谢你的观看。 如果你觉得文章还可以,记得点赞留言支持我们

1.2K11

第 12 篇:加缓存为接口提速

搜索接口:因为搜索的关键词是多种多样的,可以缓存常见搜索关键词的搜索结果,但如何确定常见搜索关键词是一个复杂的优化问题,这里我们不做任何缓存处理。...另外我们还添加了 3 条自定义的缓存 key 的 KeyBit: 执行数据库查询sql 查询语句 分页请求的查询参数 Post 资源的最新更新时间 以上 6 条分别对应一个 KeyBit,KeyBit...将提供生成缓存所需要的值,如果任何一个 KeyBit 提供的值发生了变化,生成的缓存 key 就会不同,查询到的缓存结果也就不一样,这个方式为我们提供了一种有效的缓存失效机制。...(self, **kwargs): value = cache.get(self.key, None) if not value: value =...datetime.utcnow() cache.set(self.key, value=value) return str(value) get_data 方法返回这个

1.1K40

Django学习笔记之Queryset详解

from django.db import connection l = connection.queries #l是一个列表,记录SQL语句 a = Entry.objects.all() for...e in a: print (e.blog.name) len(l) 遍历时,每次都要查询数据库,l长度每次增1,Django提供了方法可以在查询返回关联表实体,如果是onetoone...、改、查时都是可以用的,如order by、 like、in、join、union、and、or、not等等,我们以查询为例,说一下django如何映射SQL的这些关键字的(查、删、改中这些关键字的使用方法基本相同...,关联表的字段也不会返回,只有当我们通过Author instance用关联表时,Django才会再次查询数据库获取值。...select_related是用select ……join来返回关联的表字段,而prefetch_related是用多条SQL语句的形式查询,一般,后一条语句用IN来调用上一句话返回的结果。

2.7K30

Django

web实例 # 1,get 携带数据最大40k url长度不同浏览器不同2k-8k # 2,... makemigrate app_name 只有一个时可省 # 3,外 """ class A(modules...an什么字段排序,设置了该属性,结果才可以reverse() 5_orm_1 # ORM小练习 如何一个Python脚本或文件中 加载Django项目的配置和变量信息 # 常用的查询方法 import...(id=100) # 不存在返回一个空的QuerySet,不会报错 # # 就算查询的结果只有一个返回的也是QuerySet,我们要用索引的方式取出第一个元素 # ret = models.Person.objects.filter...或value_list ​ # 外查询操作 ​ # 正向查询,通过有外字段的表查没得是正向 # 基于对象 跨表查询 # book_obj = models.Book.objects.all...title=Concat(F("title"), Value("第一版"))) ​ ​ # Q查询 from django.db.models import Q # 查询 卖出数大于

3.4K20

Django ORM 单表操作

目录 Django ORM单表操作 Django 测试环境搭建 ORM 创建表 ORM 添加数据 ORM 查询数据 all 查询 filter 查询 exclude 取反查询 get 查询 order_by...all 查询 all()方法查询所有数据,返回一个QuerySet对象,类似list,可以通过索引来获取列表中的对象,这里不支持负索引 from django.shortcuts import...') get 查询 get() 方法用于查询符合条件的返回模型类的对象符合条件的对象只能为一个,如果符合筛选条件的对象超过了一个或者没有一个都会抛出错误 区别filter()如果获取不到符合条件的数据...") values 查询字段 返回的是 QuerySet 类型数据,类似于 list,里面不是模型类的对象,而是一个可迭代的字典序列,字典里的是字段,值是数据 def book(request...的行为,也就是删除一个对象时也会删除与它相关联的外对象; delete() 方法是 QuerySet 数据类型的方法,但并不适用于 Manager 本身。

1.3K20

Redis数据库

新进入一个数据库,都是空的。比如我想进入2数据库,select 2 ,以此来把数据分开。 数据结构 首先他是key,value的形式来存储数据,是不能重复的。...zhangsan 取值 get name 修改 set name zhangsan111 也就是说key存在就是修改,不存在就是修改。...a* 判断一个是否存在 exists key 存在返回1,不存在返回0 查看某个对应的值的类型 type key 删除 del key1 key2 hash类型 存储对象可以用hash类型。...# 获取值 ret = sr1.get('classname') print(ret) # 改变值 upret = sr1.set('classname','Redis二班') print(upret)...# 获取所有的 sr1.keys() # 其他操作都大同小异 Django使用Redis的作用 在Django框架中经常使用redid来保存我们的session值。

94550
领券