关于query.filter()的一些常用的方法

2023-10-26

equals:   

query.filter(User.name=='ed')

not equals:

query.filter(User.name!='ed')

like:

query.filter(User.name.like('%ed%'))

in:

query.filter(User.name.in_(['ed','wen','jask']))

not in:

query.filter(~User.name.in_(['ed','wen','jask']))

in null:

 query.filter(User.name==None)

is not null:

query.fillter(User.name!=None)

and:

query.filter(and_(User.name=='ed',Username=='ed jones'))

or:

query.filter(or_(User.name= 'ed',User.name=='wendy')

match:

query.filter(User.name.match('wendy'))

match() 使用特定于数据库的匹配或包含函数;它的行为会随着后端而变化,并且在诸如SQLite这样的一些后端是不可用的。

all(): 

    返回一个列表

first():

    返回至多一个结果,而且以单项形式,而不是只有一个元素的tuple形式返回这个结果

one():

    返回且仅返回一个查询结果。当结果的数量不足一个或者多于一个时会报错

one_or_one():

    当结果数量为0时返回None, 多于1个时报错

scalar():

    成功则返回该行的第一列的列号

text():

>>> from sqlalchemy import text
sql>>> for user in session.query(User).\
...             filter(text("id<224")).\
...             order_by(text("id")).all():
...     print(user.name)

ed
wendy
mary
fred

params():传递参数

>>> session.query(User).filter(text("id<:value and name=:name")).\
...     params(value=224, name='fred').order_by(User.id).one()

<User(name='fred', fullname='Fred Flinstone', password='blah')>

from_statement():直接使用完整的SQL语句,但是要注意将表名和列名写正确

>>> session.query(User).from_statement(
...                     text("SELECT * FROM users where name=:name")).\
...                     params(name='ed').all()

[<User(name='ed', fullname='Ed Jones', password='f8s7ccs')>]

count():返回符合条件的总数

>>> session.query(User).filter(User.name.like('%ed')).count()

2

func_count():可以直接指出要测次数的某一项

>>> from sqlalchemy import func
sql>>> session.query(func.count(User.name), User.name).group_by(User.name).all()

[(1, u'ed'), (1, u'fred'), (1, u'mary'), (1, u'wendy')]

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于query.filter()的一些常用的方法 的相关文章

  • Python - 套接字错误,地址正在使用

    我目前正在尝试在 Xubuntu 12 10 x64 上设置 SiriServer 这不是重点 当我运行服务器时 python 返回错误 socket error Errno 98 Address already in use 默认情况下
  • Django Rest Framework 嵌套序列化器不显示相关数据

    我使用 Django Rest Framework 进行了基本设置 我有两个模型和一个嵌套序列化器设置 models py from django db import models class Plan models Model name
  • 如何让我的精灵向鼠标位置发射一个对象?

    对于一个学校项目 我需要通过实现一种向鼠标位置射击 Kunais Shurikens 的方式来完成下面的 pygame 程序 以便能够击中敌人精灵 import pygame import math import random from p
  • 用顶点之间的渐变填充 matplotlib 多边形

    我正在使用 matplotlib 的 Poly3DCollection 绘制多边形 三角形 的集合 三角形位于具有与其关联的颜色的顶点之间 我目前正在用通过平均三个顶点的颜色确定的纯色填充每个三角形 绘制三角形以形成 3D 表面网格 I w
  • 如何编译Python 1.0

    出于某种反常的原因 我想尝试Python 1 0 我将如何编译它 或者更确切地说 可以使用当前编译器干净地编译的早期版本是什么 我使用的是 Mac OS X 10 5 不过因为这只是出于好奇 关于语言如何变化 所以在 Linux 虚拟机中编
  • 如何从 __subclasses__ 中删除类?

    当从类继承时 子类可以通过父类访问 subclasses method class BaseClass pass class SubClass BaseClass pass BaseClass subclasses
  • Python elasticsearch DSL 聚合/每个文档嵌套值的度量

    我试图找到 2 级嵌套中的最小值 每个文档单独的最小值 到目前为止 我能够进行聚合 计算搜索结果中所有嵌套值的最小值 但无需按文档进行分隔 我的示例架构 class MyExample DocType myexample id Intege
  • 当按下 flutter 中编写的按钮时,有没有办法运行 python 脚本?

    本质上 我想做的是 按下我在 Flutter 中编程的按钮 当按下该按钮时 Python 脚本应该开始在我的 Android 设备上运行 我想在 python 中使用 youtube dl 用于下载 Youtube 视频 库 但我想知道是否
  • Numpy - 两个矩阵的行之间的协方差

    我需要计算两个不同矩阵的每一行之间的协方差 即第一个矩阵的第一行与第二个矩阵的第一行之间的协方差 依此类推 直到两个矩阵的最后一行 我可以在没有 NumPy 的情况下使用下面附加的代码来完成此操作 我的问题是 是否可以避免使用 for 循环
  • 如何创建一个包含多个文件且没有子包的Python包

    我正在尝试创建一个包含一些类的包 mypackage 但希望这些类包含在多个文件中 例如 我希望 class a py 包含一个名为 ClassA 的类 等等 因此 我想要以下文件结构 mypackage init py class a p
  • 类型错误:“State”和“State”实例之间不支持“<” PYTHON 3

    我正在尝试利用队列类中的 PriorityQueue 但是 我在将自定义对象放入 PQ 时遇到问题 我已经实施了 cmp 函数如下 def cmp self other return self priority gt other prior
  • 如果 Django 中的表单字段与 Python 关键字同名,如何声明该字段?

    我在 Django 中有一个简单的表单 看起来像这样 class SearchForm forms Form text forms CharField from forms DateField until forms DateField 失
  • 如何在 Robot Framework 中将变量定义为具有列表值的字典

    在我的一个测试用例中 我需要定义一个字典 其中键是字符串 值是字符串数组 我怎样才能在机器人框架中做到这一点 我第一次尝试使用如下所示的构造 但行不通 Variables Dictionary A StringA1 StringA2 B S
  • 在 python matplotlib 中格式化损坏的 y 轴

    我正在 matplotlib 中处理一个 相当复杂的 条形图 它包含来自多个源的摘要数据 每个源都沿 x 轴标记 y 轴上有一系列结果 许多结果都是异常值 我尝试使用断开的 y 轴来显示这些结果 而不会使用以下组合来扭曲整个图表这个方法 h
  • 带有多表查询的 SQL Join 版本的 Djangoviews.py

    需要一些有关 Django 版本的 SQL 多表查询的帮助 该查询使用 3 个表来检索餐厅名称 地址Restaurants table和美食类型来自Cuisinetypes table 所有这些都基于通过 URL 传递的菜品名称 菜品 ID
  • Python 中字典的 enumerate()

    我知道我们用enumerate用于迭代列表 但我在字典上尝试过 但没有给出错误 CODE enumm 0 1 1 2 2 3 4 4 5 5 6 6 7 7 for i key in enumerate enumm print i key
  • 如何将目录导入为 python 模块

    如果有目录 home project aaa 我知道它是一个Python包 那么 我如何通过知道它的路径来导入这个模块 这意味着 我希望代码能够正常工作 aaa load module home project aaa 我知道的唯一方法是
  • 使用scrapy到json文件只得到一行输出

    好吧 我对一般编程很陌生 并且具体使用 Scrapy 来实现此目的 我编写了一个爬虫来从 pinterest com 上的 pin 获取数据 问题是我以前从我正在抓取的页面上的所有引脚获取数据 但现在我只获取第一个引脚的数据 我认为问题出在
  • 使用 NaN 获取 pandas 系列模式的最快方法

    我需要找到 pandas groupby 对象或单个系列的模式 最常见元素 为此我有以下函数 def get most common srs from collections import Counter import numpy as n
  • 为什么这个多处理代码会失败? [复制]

    这个问题在这里已经有答案了 def sample pass Process target sample start Process target sample start 上面的代码失败并出现错误 已尝试在当前进程之前启动新进程 进程已完成

随机推荐

  • 【沧海拾昧】Proteus8仿真stm32:ADC转换程序

    C0102 沧海茫茫千钟粟 且拾吾昧一微尘 沧海拾昧集 CuPhoenix 阅前敬告 沧海拾昧集仅做个人学习笔记之用 所述内容不专业不严谨不成体系 如有问题必是本集记录有谬 切勿深究 目录 一 原理图绘制 二 多位七段数码管 三 ADC引脚
  • 一维动态规划总结

    题目列表 给一个N 输入 求某种情况的最大值或者最小值情况 279 Perfect Squares 思路 最差情况下 总体是定义一个dp N 1 或者初始化前面dp 0 或者dp 1 279 Perfect Squares 解析 Given
  • sql:command not found

    写一个脚本zl sh 用来删除数据库mydatabase中某个表mytable的某行数据 bin bash HOSTNAME 127 0 0 1 PORT 2918 USERNAME root PASSWORD root TABLENAME
  • 使用mockjs创建假数据

    npm install mockjs 创建mock文件夹 在mock文件夹下创建1 js 1 js import Mock from mockjs 引入mockjs export default Mock mock postdata1 po
  • 剑网三服务器缺少必要启动文件,win7系统玩剑网三游戏经常掉线的解决方法

    很多小伙伴都遇到过win7系统玩剑网三游戏经常掉线的困惑吧 一些朋友看过网上零散的win7系统玩剑网三游戏经常掉线的处理方法 并没有完完全全明白win7系统玩剑网三游戏经常掉线是如何解决的 今天小编准备了简单的解决办法 只需要按照1 掉线基
  • 循环神经网络RNN以及几种经典模型

    RNN简介 现实世界中 很多元素都是相互连接的 比如室外的温度是随着气候的变化而周期性的变化的 我们的语言也需要通过上下文的关系来确认所表达的含义 但是机器要做到这一步就相当得难了 因此 就有了现在的循环神经网络 他的本质是 拥有记忆的能力
  • el-menu-item内容过多,不能滚动

    问题描述 这里放了六张图片 只能看到最下面的部分 上面的部分被挤出了屏幕外面 这里的弹出框是element ui组件自动生成的 即这个div 我此时有关这部分的代码如下 解决思路 一开始是想抓住这个生成的div 修改这个div的样式试图让它
  • python 2.x安装

    1 查看当前python版本 python version 2 安装最新2 x版本 brew install python 2 安装完成后 注意一下提示 pip and setuptools have been installed To u
  • 阻碍区块链应用落地的五大难题和解决方案

    2018年初区块链掀起了一阵新热潮 多家互联网公司纷纷宣布推出区块链项目 新兴的区块链项目方和媒体百家争鸣 一时之间区块链行业风光无限 区块链概念的火爆 使得越来越多的人开始学习它 理解它 甚至 拥抱 它 只是沉浸在 狂欢 里的众人怎么也没
  • show,attend and tell(image caption论文复现总结)

    论文中的核心思想 GitHub上的Image Caption项目https github com sgrvinod a PyTorch Tutorial to Image Captioning 研究的问题 Image Caption 为图片
  • _I,_O,_IO,条件编译#ifndf _HEAD_H中的下划线_是什么,有什么用

    1 其实质是一个宏名 由此我们可以防止发生重复定义或声明 2 编程风格 使标识符含义更清晰易懂 假设你的头文件名为head h 根据习惯 我们声明一个宏HEAD H 对应这个头文件 在头文件中开始的地方和结尾的地方加上 对HEAD H的声明
  • CentOS8更换阿里云yum源

    以下是使用阿里云的CentOS 8镜像源配置文件作为示例 备份原有的yum源文件 以便需要时恢复 sudo mv etc yum repos d CentOS tmp 下载并安装阿里云的CentOS 8源配置文件 sudo curl o e
  • AJAX JSON的数据传输

    文章目录 AJAX的JSON引入 javascriptJSON对象创建和访问 javascript怎么创建JSON对象 javascript访问JSON javascript字符串转换成JSON对象 对案例进行改造 使用json传输 将ja
  • spring boot 使用审计

    创建User类 测试类只有一个name属性 Entity Table name UcenterUser Data public class User extends BaseEntity private String name 抽取一个基类
  • ArrayList特点分析及源码阅读

    1 特点 ArrayList是个动态数组 实现List接口 主要用来存储数据 如果存储基本类型的数据 如int long boolean short byte 那只存储它们对应的包装类 增删慢 每次删除元素 都需要更改数组长度 拷贝以及移动
  • warning: retrying (retry(total=4, connect=none, read=none, redirect=none, st

    今天在利用pip安装时遇到了一些问题 首先在使用pip语句时 提示pip不是内部命令行 但是其实已经安装了pip 原因 由于python3 x之后pip都是命名为pip3 解决 将安装语句的pip 改为pip3 问题2 使用pip安装安装包
  • 一文看懂软件测试方法和规范

    软件测试方法是指测试软件的方法 随着软件测试技术的不断发展 测试方法也越来越多样化 针对性更强 选择合适的软件测试方法可以让我们事半功倍 本文主要介绍的是软件测试方法和规范 跟随小编一起来了解一下具体的测试流程及规范吧 软件测试基本流程图
  • jmeter吞吐量_性能测试jmeter详解

    曾光红 文 目前最新版本发展到5 0版本 需要Java7以上版本环境 下载解压目录后 进入apache jmeter 5 0bin 双击ApacheJMeter jar文件启动JMemter 1 创建测试任务 添加线程组 右击测试计划 在快
  • Android应用程序创建桌面快捷方式

    pre class java 测试环境为Adnroid 2 1以上 第一步 AndroidManifest xml 权限配置 添加快捷方式权限 pre
  • 关于query.filter()的一些常用的方法

    equals query filter User name ed not equals query filter User name ed like query filter User name like ed in query filte