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

django jsonField过滤,从指定的键中获取值的列表

Django是一个基于Python的开源Web应用框架,它提供了一套完整的开发工具和库,用于快速构建高效的Web应用程序。在Django中,jsonField是一种数据库字段类型,用于存储JSON格式的数据。

在使用Django的jsonField进行过滤时,可以使用__contains操作符来筛选包含指定键的记录。具体步骤如下:

  1. 导入必要的模块和类:
代码语言:txt
复制
from django.db.models import Value
from django.db.models.functions import Extract
  1. 使用Extract函数和__contains操作符进行过滤:
代码语言:txt
复制
from myapp.models import MyModel

key = 'my_key'  # 指定的键
value_list = ['value1', 'value2']  # 值列表

queryset = MyModel.objects.annotate(
    value=Extract('json_field', key, output_field=Value(''))
).filter(value__contains=value_list)

在上述代码中,MyModel是你的模型类,json_field是你的jsonField字段。Extract函数用于从jsonField中提取指定键的值,并将其命名为value。然后,使用__contains操作符来筛选value字段包含value_list中任意值的记录。

关于Django的jsonField过滤,你可以参考腾讯云的云数据库CDB产品,它提供了完全托管的数据库服务,支持Django框架,并且具备高可用、高性能、高安全性的特点。你可以通过以下链接了解更多关于腾讯云数据库CDB的信息: 腾讯云数据库CDB产品介绍

希望以上信息能够帮助到你!如果你还有其他问题,请随时提问。

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

相关·内容

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

Django也支持了Postgresql数据类型: JSONField ArrayField HStoreField 这三种数据类型因为都是非标量,且都能用JSON来表示,我下文就用JSONField...我们可以很简单地在Djangomodel定义JSONField: from django.db import models from django.contrib.postgres.fields import...正常情况下,transform一般用来在通过外连接两个表,比如.filter(author__username='phith0n')可以表示在author外连接用户表,找到username字段;...那么,在JSONField,lookup实际上是没有变,但是transform“在外查找”,变成了“在JSON对象查找”,所以自然需要重写get_transform函数。...原因是,Django-Admin中就支持用户控制queryset查询键名,我在2017年在微博说到过这一点,不过当时没有测过JSONField,sad。 ?

2K32

Django之视图层与模板层

('') 取相对应值 三.HttpRequest.POST 值为一个类似于字典QueryDict对象,封装了POST请求所包含表单数据,可通过 HttpRequest.POST.get('...')获取相对应值 针对表单checkbox类型input标签、select标签提交数据,对应值为多个,需要用: HttpRequest.POST.getlist("hobbies")获取存有多个值列表...,而是会将表单数据按照 k1=v1&k2=v2&k3=v3格式放到url,然后发送给djangodjango会将这些数据封装到request.GET,注意此 时request.body为空、无用...所以,一个叫做 X-Bender 头部将转换成 META HTTP_X_BENDER 。...','movie']} #模板语法取值 {{ user_obj.hobby.0}}#book #句点符取值,如果字典取值则点key值,如果列表取值则点索引号 模板语法有两种书写格式: {{}}#变量相关

9.1K10

Django 模板

目录 Django 模板 模板传值取值 后端传值 HTML取值 过滤器 default length filesizeformat date truncatechars truncatewords safe...`方式取值,不论是索引还是键值等··· eg:{{ d.hobby.3.username }} # 索引就是.下标,字典就是. {{ my_int }} {{ my_float...default 在html文件,default 为变量提供一个默认值,如果views传变量布尔值为false,则使用指定默认值,如果为true,就使用views传变量值; from django.shortcuts...后端: 使用views.py mark_safe 效果相同 Django 会自动对 views.py 传到HTML文件标签语法进行转义,令其语义失效。...reversed %} {{ foo }} {% endfor %} 遍历字典: 可以直接用字典 .items 方法,用变量解包分别获取和值 from django.shortcuts import

4.8K10

Django框架学习(三)

{{ alist }} {{ alist.0 }} 注意列表取值方法 django模板变量不能进行运算...3.4.2模板语句 1)for循环: {% for item in 列表 %} 循环逻辑 {{forloop.counter}}表示当前是第几次循环,1开始 {%empty%} 列表为空或不存在时执行此逻辑...a)Django使用模板变量时候,无论是字典、列表或元组元素,都需要使用.不能使用[],字典是.key,元组和列表是.index下标;这是和flask有区别的地方。...| 过滤器(参数...)}} b) Django模板过滤使用: {{ 模板变量 | 过滤器:参数 }} 注意:Django过滤器:号之后只能接收一个参数 ?...,在django.db.models包含了可选常量: CASCADE 级联,删除主表数据时连通一起删除外数据 PROTECT 保护,通过抛出ProtectedError异常,来阻止删除主表中被外应用数据

1.8K40

Django框架之第三篇模板语法(重要!!!)

只要是在html里面有模板语法就不是html文件了,这样文件就叫做模板。 二、模板语法分类 一、模板语法之变量:语法为 {{ }}: 在 Django 模板遍历复杂数据结构关键是句点字符  ....否则,使用变量值。例如: default过滤器:{{ li|default:"如果显示为空,设置解释性内容" }} 2、length:返回值长度。它对字符串和列表都起作用。...为了在Django关闭HTML自动转义有两种方式,如果是一个单独变量我们可以通过过滤器“|safe”方式告诉Django这段代码是安全不必转义。...--加上safe,确定你数据是安全才能被当成是标签--> 这里简单介绍一些常用模板过滤器,更多详见 四、自定义标签和过滤器 1、在settingsINSTALLED_APPS配置当前app,...不然django无法找到自定义simple_tag. 2、在app创建templatetags模块(模块名只能是templatetags) 3、在templatetags里面创建任意 .py 文件,

46010

模板语法

模板语法分类 模板语法之变量 语法为 {{ }}: 在 Django 模板遍历复杂数据结构关键是句点字符 ....否则,使用变量值。例如: default过滤器:{{ li|default:"如果显示为空,设置解释性内容" }} 2、length:返回值长度。它对字符串和列表都起作用。...为了在Django关闭HTML自动转义有两种方式,如果是一个单独变量我们可以通过过滤器“|safe”方式告诉Django这段代码是安全不必转义。...--加上safe,确定你数据是安全才能被当成是标签--> 这里简单介绍一些常用模板过滤器,更多详见 自定义标签和过滤器 1、在settingsINSTALLED_APPS配置当前app,不然...django无法找到自定义simple_tag. 2、在app创建templatetags模块(模块名只能是templatetags) 3、在templatetags里面创建任意 .py 文件, 如

63330

django框架菜鸟教程_django框架菜鸟教程

路由解析顺序 Django在接收到一个请求时,主路由文件urlpatterns列表以由上至下顺序查找对应路由规则,如果发现规则为include包含,则再进入被包含urlsurlpatterns...HttpRequest对象属性GET、POST都是QueryDict类型对象 QueryDict类型对象用来处理同一个带有多个值情况 方法get():根据取值 dict.get(‘’...,默认值) 可简写为 dict[‘’] # 说明: # 如果一个同时拥有多个值将获取最后一个值 # 如果不存在则返回None值,可以设置默认值进行后续处理 方法getlist():根据取值...,值以列表返回,可以获取指定所有值 如果不存在则返回空列表[],可以设置默认值进行后续处理 dict.getlist(‘’,默认值) 3)查询字符串 通过request.GET属性获取,返回...objects.filter().delete() 查询集 QuerySet 1、概念:数据库获取对象集合 过滤器方法: all() filter() exclude() order_by() exists

3K40

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

(ORM),数据库与 python 对象映射关系十分形象,一个表模型类(class)即代表一张表,实例化出一个对象即代表一条数据记录 创建一个对象(一条数据记录) 在 django 要想创建一个数据对象...Retrieving objects 查出对象(QuerySet) 数据库查询对象,通过 表模型类 Manager 管理器 来构造一个 QuerySet 。...通常来说,QuerySet 结果只会在你 “访问” 它们时候才会数据库获取,当你执行时,QuerySet 会通过访问数据库来取值(When you do, the QuerySet is evaluated...=False) 过滤字段 .none() 创建空 QuerySet 调用 .none() 方法会创建一个空 QuerySet ,里面不包含任何数据对象,并且在取值时也不会执行任何数据库操作(是 EmptyQuerySet...--> 推测是 遍历、取值,翻译成取值好像更合适一点) alias 别名 特别点 保存外字段那里,可以直接给外对象赋值一个对象(blog 对象 --> blog 属性) cache

2.9K20

Jsonfield注解使用

日前在工作,遇到了一个问题,关于java序列化。 工作与前端数据交换使用协议是json+protobuf,主要是用protobuf。...由JSONArray转化为对象列表,哎??...重点来了,重点来了: 我选择了自己实现,即:遍历JSONArray,逐个取值,新建对象,存值。 不要问我为什么,懒!懒得改了。...然后把这几个类定义proto改到普通POJO,然后提取共性,一番折腾下来重新使用fastjson序列化,成功了,但是好多值莫名其妙为空。尤其是其中对象,person基本都是空。...这个时候我甚至怀疑了一下是不是fastjson不支持这么复杂数据转化,比如类里面有几个类列表。 (!!对不起,马爸爸我不该怀疑你,对不起我知道我狂妄了,我这数据复杂个屁啊)。

3.5K41

spring常用注解

值是数组,可以将多个url映射到同一个方法 窄化请求映射 : 在class上添加@RequestMapping(url)指定通用请求前缀, 限制此类下所有方法请求url必须以请求前缀开头,通过此方法对...pojo回显到页面在requestkey 图片 @ModelAttribute还可以将方法返回值传到页面 在商品查询列表页面,通过商品类型查询商品信息。...数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面 13 @Configuration Spring3.0...@JSONField(serialize = false)时用来忽略不想序列化字段,但是如果加了final,这个字段就无法被过滤 @JSONField(serialize = false) private...int SCENE; // 可被过滤 @JSONField(serialize = false) private final int SCENE; // 不能过滤 compile group: 'com.alibaba

72320

Django MVT之T

Django MVC概述和开发流程已经讲解了DjangoMVT开发流程,本文重点对MVT模板(Template)进行重点讲解。 模板包含两部分: 静态部分: 包含html、css、js。...取值赋给x,同pythonfor #} {# ... #} {# 可以通过{{ forloop.counter }}得到for循环遍历到第几次了,计数值1开始。...过滤过滤器在模板是放在模板变量后用于对模板变量进行操作技术。...变量与过滤器之间通过管道符号“|”连接,使用格式如下 {{ 模板变量 | 过滤器: 参数}} Django内置过滤详细介绍参考Django 1.8.2 中文文档。...URL反向解析 Django除了提供了URL到视图函数映射,还提供了反向映射名到URL解析功能。使用URL反向解析可以动态生成URL,当URL变化时,不需要手动去更改。

1.2K20

走进Java接口测试之fastjson指南

fastjson 是阿里巴巴开源 JSON 解析库,它可以解析 JSON 格式字符串,支持将 Java Bean 序列化为 JSON 字符串,也可以 JSON 字符串反序列化到JavaBean。...速度快 fastjson 相对其他 JSON 库特点是快, 2011 年 fastjson 发布1.1.x版本之后,其性能从未被其他 Java 实现 JSON 库超越。...在 2012 年被开源中国评选为最受欢迎国产开源软件之一。 测试完备 fastjson 有非常多 testcase,在1.2.11版本,testcase 超过3321个。...", format = "dd/MM/yyyy",ordinal = 3) private Date dateOfBirth; } 以下是我们可以与 @JSONField 注解一起使用最基本参数列表...新创建过滤器与 Person 类相关联,然后添加到全局实例 - 它基本上是 SerializeConfig 类静态属性。 现在我们可以轻松地将对象转换为 JSON 格式,如本文前面所示。

1.4K20

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

,那么本篇章主要是来看看DjangoHttpReqeust对象。...方法get():根据取值 如果一个同时拥有多个值将获取最后一个值 如果不存在则返回None值,可以设置默认值进行后续处理 dict.get('',默认值) 可简写为 dict[''] 例如...serverName=测试服务器&middlewareinfoName=redis def getServerAllMiddlewareinfo(request): # 直接GET请求获取参数...return HttpResponse(response % (server_name, middlewareinfo_name)) 方法getlist():根据取值,值以列表返回,可以获取指定所有值...如果不存在则返回空列表[],可以设置默认值进行后续处理 dict.getlist('',默认值) GET请求 请求格式:在请求地址结尾使用?

1.5K20
领券