1. equal    2. not equal  3. like, ilike  4.in  5. not in

6. is null  7. is not null  8. and  9. or

#### 如果想查看orm底层查询sql可以在filter函数后面不写人物的函数如:

articles = session.query(Article).filter(Article.title != 'title0')
 # coding:utf-8
# Author: liangjun.chen from datetime import date
from datetime import datetime
from datetime import time
from random import random
from sqlalchemy import create_engine, Column, Integer, String, Float, Text, and_, or_ from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker HOSTNAME = '127.0.0.1'
PORT = 3306
DATABASE = 'sqlalchemy_first'
USERNAME = 'root'
PASSWORD = '' DB_URI = 'mysql+pymysql://{username}:{password}@{host}:{port}/{dbname}?charset=utf8'.format(
username=USERNAME, password=PASSWORD, host=HOSTNAME, port=PORT, dbname=DATABASE
)
engine = create_engine(DB_URI)
Base = declarative_base(engine)
Session = sessionmaker(engine)
session = Session() class Article(Base):
__tablename__ = 'article'
id = Column(Integer, primary_key=True, autoincrement=True)
title = Column(String(50), nullable=False)
price = Column(Float, nullable=False)
content = Column(Text) def __repr__(self):
return "Article<title: {}, price: {}>".format(self.title, self.price) # 1. equal
article = session.query(Article).filter(Article.id == 1).first()
print article # 2. not equal
articles = session.query(Article).filter(Article.title != 'title0').all()
print articles # 3. like, ilike->不区分大小写
articles = session.query(Article).filter(Article.title.like('title%')).all()
print articles # 4. in
print '-' * 20
articles = session.query(Article).filter(Article.title.in_(['title1', 'title2'])).all()
print articles # 5. not in
print '-' * 20
articles = session.query(Article).filter(~Article.title.in_(['title2', 'title1'])).all()
articles2 = session.query(Article).filter(Article.title.notin_(['title2', 'title1'])).all() print articles
print articles2 # 6. is null
print '-' * 20
articles = session.query(Article).filter(Article.content == None).all()
print articles # 7. is not null
print '-' * 20
articles = session.query(Article).filter(Article.content != None).all()
print articles # 8. and
print '-' * 20
articles = session.query(Article).filter(Article.title == 'title0', Article.content == 'test').all()
articles_2 = session.query(Article).filter(and_(Article.title == 'title0', Article.content == 'test')).all()
print articles
print articles_2 # 9. or
print '-' * 20
articles = session.query(Article).filter(or_(Article.title == 'title1', Article.content == 'test')).all()
print articles

【Flask】filter 常用查询条件的更多相关文章

  1. django ORM常用查询条件

    假设有一个模型 class Article(models.Model): title=models.CharField(max_length=50) content=models.TextField( ...

  2. 七、Django模型基础第二节——常用查询

    1 常用的模型字段类型 官方文档链接: https://docs.djangoproject.com/en/2.1/ref/models/fields/#field-types 常用的字段类型 模型字 ...

  3. Thinkphp分页时查询条件保存方法

    web应用中经常要根据用户提交的查询条件进行过滤,再以列表方式显示在浏览器上.如果这种查询是多种条件的组合,并要进行分页显示,则如何在分页导航中保持查询条件,是必须解决的问题. 在Thinkphp中, ...

  4. 潭州课堂25班:Ph201805201 django框架 第六课 模型类增删改查,常用 的查询矣查询条件 (课堂笔记)

    在视图函数中写入增删改查的方法 增: 在 urls 中配置路径 : 查: 1: 在后台打印数据 在模型类中添加格式化输出 : QuerySet,反回的是个对象,可以按索引聚会,用 for 循环,, 找 ...

  5. MongoDB查询条件常用设置

    原文地址:http://blog.csdn.net/mcpang/article/details/8731065 Java操作mongodb进行查询,常用筛选条件的设置如下: 条件列表: BasicD ...

  6. java 操作mongodb查询条件的常用设置

    java操作mongodb进行查询,常用筛选条件的设置如下: 条件列表:BasicDBList condList = new BasicDBList(); 临时条件对象:BasicDBObject c ...

  7. day95:flask:SQLAlchemy数据库查询进阶&关联查询

    目录 1.数据库查询-进阶 1.常用的SQLAlchemy查询过滤器 2.常用的SQLAlchemy查询结果的方法 3.filter 4.order_by 5.count 6.limit&of ...

  8. Solr常用查询语法笔记

    1.常用查询 q - 查询字符串,这个是必须的.如果查询所有*:* ,根据指定字段查询(Name:张三 AND Address:北京) fq - (filter query)过虑查询,作用:在q查询符 ...

  9. 八.django模型系统(二)之常用查询及表关系的实现

    Ⅰ.常用查询  1.几个概念 每一个django模型类,都有一个默认的管理器,objects,查询就是依赖于objects管理器进行的(在创建时就被添加了). QuerySet表示数据库中对象的列表( ...

随机推荐

  1. sql server 类oracle vm_contact() 函数创建

    CREATE FUNCTION dbo.fun_orgname(@id int)RETURNS varchar(8000)AS BEGIN      DECLARE @str varchar(8000 ...

  2. java 实现新浪微博内容计数器 Java问题通用解决代码

    http://www.mr3g.net/?p=220 参考sina的js版本而来,费弄最多的时间就是java对ansii码的判断了,js直接就是isascii()函数就可以实现了,java还要想办法 ...

  3. 跨discuz站获取

    1.在需要取得formhash的页面加入下面js代码,还需要jquery库. <script lanuage="javascript"> $(function(){ $ ...

  4. linux系统下面ftp的一些命令

    service vsftpd restart重启vsftpd服务service vsftpd stop停止vsftpd服务service vsftpd start启动vsftpd服务 chkconfi ...

  5. source sh运行脚本的差别

    主要有两种方式运行shell脚本 1)source test.bsh 2)sh test.bsh 1)souce运行脚本文件会在父程序中运行.各项动作都会在原本的bash内生效.运行过程不另开进程.脚 ...

  6. JS-以鼠标位置为中心的滑轮放大功能demo1

    以鼠标位置为中心的滑轮放大功能demo1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...

  7. Python的paramiko模块ssh操作

    SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 import paramiko    # 创建 ...

  8. pycharm的安装和破解

    前提: 为了学习爬虫,单独下载了一个pycharm编辑器,所以就有了这篇文章,和PHPstorm的安装和破解及其类似, 如有想了解PHPstorm的安装破解可参考我的另一篇博文:http://www. ...

  9. PHPstudy如何在本地搭建多站点

    参考地址: http://jingyan.baidu.com/article/e52e36154227ef40c70c5147.html

  10. PHPUnit_Framework_Assert单元测试

    先发下简书的干货: 教你一步一步写一个phpunit testcase:https://www.jianshu.com/p/ba6829a6f3ec 程序地址 https://github.com/y ...