表接结构如下

class MachineFixDoc(Base):
"""
设备报修单,代理或用户向公司申请报修
"""
__tablename__ = 'machine_fix_doc'
id = Column(String(26), unique=True, primary_key=True, default=SystemIDGenerator.repair_id)
belong_to = Column(Enum(MachineFixBelongEnum), nullable=False) # 报修的设备归属于用户还是代理
user_id = Column(String(36)) # 用户id
agent_id = Column(String(36), nullable=False) # 代理id
machine_ids = Column(ARRAY(String(18)), nullable=False) # 设备id列表
operator = Column(String(36)) # 报修单由谁创建的目前存的是app.models.interface.UserInterface.username
stage = Column(Enum(MachineFixDocStageEnum), default=MachineFixDocStageEnum.ongoing) # 处理中、或 已完成
remark = Column(Text) # 备注

machine_ids是一个array类型

现在要查询MachineFixDoc.machine_ids中包含列表['520000011903111748', '721990005000']任意一个的所有MachineFixDoc

sql如下

select * from machine_fix_doc where machine_ids && array['520000011903111748', ' 721990005000']::varchar[];

sqlalchemy如下

from sqlalchemy import text
all_machine_ids = ['520000011903111748', ' 721990005000']
docs = db.session.query(MachineFixDoc.machine_ids).filter(text('machine_ids && array%s::varchar[]' % str(all_machine_ids))).all()

postgresql关于array类型有交集(包含查询数据任意元素,有重叠&&)的一些查询方法以及sqlalchemy语句实现的更多相关文章

  1. HQL 查询数据 (获取页面输入的查询条件字段)

    /* * 查询提取位置表所有数据 * */ public String ListEtlExtractPositionOfAll(){ // 接受数据库中传送的code int code = Integ ...

  2. mysql查询数据返回touple改为字典的方法

    conn = MySQLdb.connect(host='ip',user='root',passwd='123456',db="dbname",charset="utf ...

  3. MySQL行(记录)的详细操作一 介绍 二 插入数据INSERT 三 更新数据UPDATE 四 删除数据DELETE 五 查询数据SELECT 六 权限管理

    MySQL行(记录)的详细操作 阅读目录 一 介绍 二 插入数据INSERT 三 更新数据UPDATE 四 删除数据DELETE 五 查询数据SELECT 六 权限管理 一 介绍 MySQL数据操作: ...

  4. FreeSql (十五)查询数据

    FreeSql在查询数据下足了功能,链式查询语法.多表查询.表达式函数支持得非常到位. IFreeSql fsql = new FreeSql.FreeSqlBuilder() .UseConnect ...

  5. SQL查询数据总结

    SQL查询数据 完整语法 Select [select选项] 字段列表[字段别名]/* from 数据源 [where条件子句] [group by子句] [having子句] [order by子句 ...

  6. mongo中查询Array类型的字段中元素个数

    I have a MongoDB collection with documents in the following format: { "_id" : ObjectId(&qu ...

  7. 《JavaScript高级程序设计》读书笔记 ---Array 类型

    除了Object 之外,Array 类型恐怕是ECMAScript 中最常用的类型了.而且,ECMAScript 中的数组与其他多数语言中的数组有着相当大的区别.虽然ECMAScript 数组与其他语 ...

  8. JavaScript系统学习小结——Object类型、Array类型

    今天学习JavaSript中引用变量中的Object类型和Array类型: 1. Js中大多数引用类型值都是Object类型的实例,Object类型在应用程序中存储和传输数据时,是非常理想的选择: 创 ...

  9. JS高程5.引用类型(2)Array类型

    Array类型: ECMAScript数组的每一项可以保存任何类型的数据,数组的大小是可以动态调整的. 创建数组的基本方式: (1)使用Array构造函数 var color=new Array(); ...

  10. 引用类型-Array类型

    ECMAScript数组的每一项可以保存任何类型的数据,并且数组的大小是可以动态调整的. 创建数组的基本方式有两种,第一种是使用Array构造函数 var colors = new Array(); ...

随机推荐

  1. 正则表达式(Regular Expression)详解

    1 前言 正则表达式主要用于复杂文本处理,如模式匹配.格式检验.文本替换等.常用的通配符有: ^, $, *, ., , -, +, ?, &, |, (), [], {} 2 String中 ...

  2. Oracle 中LONG RAW BLOB CLOB类型介绍

    说明: RAW: 未加工类型,可存储二进制数据或字节符 LONG: 可变长的字符串数据,最长2G,LONG具有VARCHAR2列的特性,可以存储长文本一个表中最多一个LONG列[不建议使用] LONG ...

  3. Spring boot 2.0启动自动执行sql语句

    项目地址:https://gitee.com/indexman/spring_boot_in_action 1.准备sql文件 将department.sql放到resources路径下 /* Nav ...

  4. Go语言并发编程(3):sync包介绍和使用(上)-Mutex,RWMutex,WaitGroup,sync.Map

    一.sync 包简介 在并发编程中,为了解决竞争条件问题,Go 语言提供了 sync 标准包,它提供了基本的同步原语,例如互斥锁.读写锁等. sync 包使用建议: 除了 Once 和 WaitGro ...

  5. ThreadLocal的应用场景和注意事项有哪些?

    https://cloud.tencent.com/developer/article/1618405

  6. 【Azure Redis 缓存】使用StackExchange.Redis,偶发ERROR - Timeout performing HSET (15000ms)

    问题描述 使用StackExchange.Redis 作为Redis客户端SDK,连接Azure Redis服务,长期运行后发现,每天都偶发 Timeout Error. 错误消息如下: StackE ...

  7. 【Azure 应用服务】Azure SignalR 是否可以同时支持近十万人在线互动

    什么是 Azure SignalR 服务? Azure SignalR Service 简化了通过 HTTP 向应用程序添加实时 Web 功能的过程. 这种实时功能允许服务将内容更新推送到连接的客户端 ...

  8. 图数据库实操:用 Nebula Graph 破解成语版 Wordle 谜底

    本文首发于 Nebula Graph Community 公众号 春节期间如果有小伙伴玩过 Wordle 这个火爆社交媒体的猜词游戏,可能对成语版本的汉兜有所耳闻.在玩汉兜过程中,我发现用 Nebul ...

  9. Ubuntu20下安装NFS

    安装nfs-kernel-server apt install nfs-kernel-server 想好自己要把哪个目录作为NFS共享目录,创建目录 mkdir /mydata vim /etc/ex ...

  10. 基于centos7 创建一个jdk8的镜像

    前言: 直接使用docker拉取jdk8镜像因有时区问题,设置后也不生效,所以干脆自己做一个 以下是Dockerfile文件 FROM centos:7 RUN ln -snf /usr/share/ ...