sqlalchemy查询json

第一种:字段op是json格式:

{"uid": "cxb123456789","role": 2,"op_start_time": 1743513707504,"op_end_time": 1743513707504,"op_start_id": "op_001","op_end_id": "op_002","op": {"ability_node": [{"id": "2c6adc22-e05a-4fe9-835f-ba5d7f8b303", "name": "连接数限制"}],"skill_node": [{"id": "cvlp6o324te32pj24teg", "name": "yyyy"}],"knowledge_node": [{"id": "cvlp6o324te32pj24teg", "name": "端到端加密"}],"op_id": "9131c441-4304-4101-b064-362352d26789","op_name": "Initial Data Import","pre_op": "","next_op": "op_002","dep_relationship": "","op_result": 1,"op_score": 95.5,"op_count": 1}}

要求:查询op的json字段里面的op_id为传入的op_id

from sqlalchemy.future import selectdb_query = select(KnowledgeAiReport)
op_id = report.op.op_id
db_query = db_query.filter(KnowledgeAiReport.uid == report.uid).filter(KnowledgeAiReport.op.op('->>')('op_id') == op_id)
item = await db_session.execute(db_query)
report_db = item.scalars().first()

第二种:person_type也是json字段,

要求:存储的值是 ["1","2"],要求传入 “1”能查出对应的数据

实现代码: 

from sqlalchemy.dialects.postgresql import JSONB  # 使用JSONB,因为它支持全文搜索
from sqlalchemy import cast
from sqlalchemy.future import selectdb_query = select(TbResident)
db_query = db_query.filter(cast(TbResident.illness_type, JSONB).op('@>')([f'{illness_type}']))
db_query = db_query.offset(page_no * page_size).limit(page_size).order_by(TbResident.created_at.desc())item = await db_session.execute(db_query)residents = item.scalars().all()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/900340.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搭建K8S-1.23

0、简介 这里只用3台服务器来做一个简单的集群 地址主机名192.168.160.40kuber-master-1192.168.160.41kuber-master-2192.168.160.42kuber-node-1 1、关闭三个服务 (1)防火墙 systemctl stop firewalld (2)Selinux setenf…

初阶数据结构--树

1. 树的概念与结构 树是⼀种⾮线性的数据结构,它是由 n(n>0) 个有限结点组成⼀个具有层次关系的集合。把它叫做 树是因为它看起来像⼀棵倒挂的树,也就是说它是根朝上,⽽叶朝下的。 有⼀个特殊的结点,称…

硬件工程师面试问题(五):蓝牙面试问题与详解

蓝牙技术作为物联网与智能设备的核心无线协议,其硬件设计能力直接影响产品连接稳定性、功耗及兼容性。面试是评估候选人射频电路设计、天线优化、协议栈调试等综合技能的关键环节,尤其在BLE低功耗设计、共存抗干扰等场景中,硬件工程师的实践经…

Redis-基本数据类型

Redis支持的基本数据类型:String、hash、list、Set、Zset 一、String 特点 可以存储三种类型 int、float、string 运用场景 缓存:存储HTML片段、用户会话(Session)计数器:网站访问量、点赞数(incr方法&am…

Tomcat的部署

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和 并发访问用户不是很多的场合下被普遍使用,Tomcat 具有处理HTML页面的功能,它还是一个Servlet和 JSP容器 官网:Apache Tomcat - Welco…

Linux的TCP连接数到达2万,其中tcp_tw、tcp_alloc、tcp_inuse都很高,可能出现什么问题

当 Linux 系统的 TCP 连接数达到 2 万,且 /proc/net/sockstat 中的 tcp_tw(TIME_WAIT 连接)、tcp_alloc(已分配但未完全建立的连接)和 tcp_inuse(正在使用的连接)均处于高位时,可能会引发以下问题: 一、关键指标分析 通过 /proc/net/sockstat 可以查看 TCP 连接状态:…

服务器数据恢复—Raid6阵列硬盘故障掉线,上层虚拟机数据如何恢复?

服务器数据恢复环境&故障: 一台由16块硬盘组成的raid6磁盘阵列。磁盘阵列中有一块硬盘因为物理故障掉线,导致服务器上层虚拟机无法正常使用,部分分区丢失,重启物理服务器后发现数据丢失。 服务器数据恢复过程: 1、…

Unhandled exception: org.apache.poi.openxml4j.exceptions.InvalidFormatException

代码在main方法里面没有报错,在Controller里面就报错了。 原来Controller类里面少了行代码 import org.apache.poi.openxml4j.exceptions.InvalidFormatException; 加上去就解决了。

RISC-V debug专栏2 --- Debug Module(DM)

Debug Module(DM)的核心功能 DM 就像一个翻译官,负责把调试器的抽象指令(比如 “暂停处理器”)转换成硬件能听懂的具体操作。它必须实现以下基本功能: 必要功能(必须实现)&#xff…

infinityfree最新免费建站详细教程_无需备案_5G空间_无限流量_免费域名_免费SSL

一、明确目标—是否要使用 1.为什么选择InfinityFree? 对于初学者、学生或只是想尝试网站搭建的个人用户来说,InfinityFree提供了一个绝佳的免费解决方案。这个国外免费的虚拟主机服务提供: 5GB存储空间 - 足以存放个人博客、作品集或小型…

我与数学建模之终章

自美赛失利之后,就开始忙活别的了,因为数学竞赛国赛当时还没收到通知,所以就在准备写论文,最后论文拿去交挑战杯竞赛了,拿了个校一省一国三。 在写论文过程中,通知去上海参加数学竞赛,其实当时…

大学生机器人比赛实战(三)经验篇

大学生机器人比赛一等奖实战指南:从组队到夺冠的全流程策略 参加大学生机器人比赛并斩获一等奖是许多理工科学子的梦想,这不仅是对技术能力的认可,更是未来深造和就业的重要加分项。本文将从团队组建、技术攻关、项目管理、比赛策略和心理建…

关于UDP端口扫描概述

尽管互联网上大多数流行服务都基于 TCP 协议运行,但 UDP 服务也广泛部署。DNS、SNMP 和 DHCP(注册端口 53、161/162 和 67/68)是最常见的服务之一。 由于 UDP 扫描通常比 TCP 扫描更慢、更困难,一些安全审计人员可能会忽略这些端…

美团滑块 分析

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 逆向过程 距离识别不准简单学习一下&…

SpringBoot配置文件多环境开发

目录 一、设置临时属性的几种方法 1.启动jar包时,设置临时属性 ​2.idea配置临时属性 3.启动类中创建数组指定临时属性 二、多环境开发 1.包含模式 2.分组模式 三、配置文件的优先级 1.bootstrap 文件优先: 2.特定配置文件优先 3.文件夹位置优…

开发一个小程序需要多久时间?小程序软件开发周期

开发一个小程序所需时间受多种因素影响,以下为你详细列举: 一、需求复杂度。若只是简单展示类小程序,如企业宣传、产品介绍,功能单一,大概 1 - 2 周可完成。若涉及复杂交互,像电商小程序,涵盖商…

Linux 基础入门指南:用户管理、基本命令(一)

摘要:Xshell登录、用户管理、修改字体与配色方案。操作系统概要。Linux文件系统基础。相关命令:pwd, ls, cd, mkdir, rmdir, rm,touch, nano, tree; adduser, passwd 目录 一、系统登录与用户管理 1. 登录方式 (1)命令行登录 …

【python】:使用Qt Creator 管理python项目

一、引言(也许适合小众的你) 如果你跟我一样,有时候开发点小项目,既有Qt的需求,又有python项目需求,除了VS以外,Qt Creator同时满足这两种语言的项目开发需求和无缝项目切换,目前来看确实是比较…

【简单数论】(模运算,快速幂,乘法逆元,同余,exgcd,gcd,欧拉函数,质数,欧拉筛,埃式筛,调和级数枚举,约数,组合数)

数论 模运算 a m o d b a − ⌊ a / b ⌋ b a\ mod \ b a - \lfloor a / b \rfloor \times b a mod ba−⌊a/b⌋b n m o d p n \ mod\ p n mod p得到的结果的正负至于被除数 n n n有关 模运算的性质: ( a b ) m o d m ( ( a m o d m ) ( b m o d m ) ) m …

006贪心——算法备赛

跨步问题 跳跃游戏|| 问题描述 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向后跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j < nums[i]i j &…