小结

查询格式

模型类.objects.filter(字段__查询词=值)

以下内容主要介绍查询词的操作

查看查询集的sql语句

查询集.query

exact, iexact

等于查询

一方查找多方,条件写法

情况一,多方表的外键没有定义关联名称

一方类名.objects.filter(多方类名小写__多方字段__查询词=值)

情况二,多方表的外键写义了关联名称 related_query_name 的值

一方类名.objects.filter(多方外键related_query_name的值__多方字段__查询词=值)

contains,icontains

包含查找

in

成员查找

gt, lt, gte, lte

比较查找

startswith, istartswith

起点查找

date, year 等等

日期查找

date 值要是datetime类型

year 等值要是int类型

isnull

判空

值为布尔类型

regex, iregex

正则表达式查找

详情

exact

精确查找,相当于等于

模型类.objects.filter(字段__exact=值)
  • 说明
  • 例子

数据表

精确查找

结果

  • 扩展查询时大小写的敏感度

    • linux大小写敏感utf8_bin,情况2
    • windows都不敏感

查看sql语句

介绍如何查看sql语句

查询集 = 模型类.objects.filter(查询条件)
查询集.query
  • 说明

  • 例子

查询

结果

iexact

效果相当于exact,不过它是模糊查找

  • 说明

  • 例子


结果

  • 补充,like 与 =

name = ‘张三’

name like ‘张三’

略有不同

exact 与 iexact 区别

contains 与 icontains

查询包含

带i 表示忽略大小写

  • 说明

  • 例子

结果

  • contains与exact的区别

in

成员

  • 说明

  • 例子

  • 例子,查找id为1 2 3 的文章,的分类

测试表

分析

即然找分类
就找分类表
此处是关联查找

注意
此处的查询条件

根据分类,反向查找文章(外键在文章)

视图中查找
多方行对象.一方类名小写_set.all()得到所有

在查询条件中查找
多方类名.objects.filter(一方类名__一方字段__查询词=值)

通过这种方式查

条件中的反向查询

多方找一方,两种查询方式

  • 普通查找
多方类名.objects.filter(一方类名小写__一方字段__查询词=值)

模型类是这样的

反向查找是这样的

笔记

  • 如果外键中定义时加入了 related_query_name时
多方类名.objects.filter(一方类名外键related_query_name的值__一方字段__查询词=值)


红框反查一方表

如果比对一方表id,那么__id可以不写

  • 例子 查询 一堆图书中的所有分类有哪些

gt, lt, gte, lte

大于,小于,大于等于,小于等于

  • 说明

  • 例子

startswith, istartswith

以某某开始

  • 例子

  • 小结

date, year

时间相关类型

  • 例子


提取 2018.4.4日发布的文章

查询语句

对应的sql

日期字段_date = 日期时间对象
  • 例子,year, month day week_day

时间范围的过滤 range

isnull

判null

  • 例子,找出所有日期 空空的数据

值为bool值

  • 笔记

rege, irege

正则表达式查找

  • 例子

  • 笔记

跨表查询

django-orm-查询基本操作相关推荐

  1. Django ORM 查询重复记录并显示

    文章目录 Django ORM 查询重复记录并显示 废话不谈,两横一竖开始 开始正题 下午继续vue Django ORM 查询重复记录并显示 写了简单的项目信息录入系统,让同事便于录入. 同事要求 ...

  2. python django orm查询集总结

    1 .什么是ORM (Object Relational Mapping ) 它的作用是在关系型数据库和业务实体对象做一个映射,我们在操作具体业务对象的时候就可以省去了和SQL语句打交道,只需要简单的 ...

  3. Django ORM查询之外键、关系的反向引用

    关系本身就是相互的,只用在一个表中记录,而不是在有关系的两个表中都记录.所以外键.关系提供反向引用机制.当然,外键可以是多个表的外键,关系也可以与多个表有关系,所以反向引用必须显式指出关系对方表(然后 ...

  4. select_related与prefetch_related django ORM查询速度优化

    深入select_related与prefetch_related函数 原文:https://www.cnblogs.com/tuifeideyouran/p/4232028.html 在数据库有外键 ...

  5. 067:【Django数据库】ORM查询条件详解-range

    [Django数据库]ORM查询条件详解-range range: 判断某个 field 的值是否在给定的区间中.示例代码如下: # views.py文件内容:from datetime import ...

  6. django orm基本操作一

    一.Django–ORM表设计格式(个人) 1.一对一建立外键 不同于django如需扩展原user表,将外键建在副表上.我更喜欢将外键建在主表上 外键名称 = models.OneToOneFiel ...

  7. Django–模型层orm查询

    文章目录 Django–模型层orm查询 一.单表查询(增.删.改.查) 基本查询 下划线查询 二.外键字段(增.删.改.查) 一对多 多对多 三.多表查询 多表查询的方式 正反向的概念 基于对象的跨 ...

  8. 【转】建立一个更高级别的查询 API:正确使用Django ORM 的方式

    这个就比较深入啦... http://www.oschina.net/translate/higher-level-query-api-django-orm 结论: 在视图和其他高级应用中使用源生的O ...

  9. Django ORM操作

    Django ORM操作 一般操作 看专业的官网文档,做专业的程序员! 必知必会13条 <1> all(): 查询所有结果<2> get(**kwargs): 返回与所给筛选条 ...

  10. django mysql orm教程_带你了解Django ORM操作(基础篇)

    前言 在日常开发中,需要大量对数据库进行增删改查操作. 如果头铁的话,使用原生SQL是最好的,毕竟性能又高,又灵活. 但是通常情况下,我们不是太需要那么苛刻的性能,也没有那么多刁钻的需求用原生SQL ...

最新文章

  1. Jenkins+Github持续集成
  2. cent os 下使用hashmap + string
  3. python函数必背知识点_必背函数——python学习第四次总结
  4. 【Linux】一步一步学Linux——skill命令(143)
  5. JavaScript面试时候的坑洼沟洄——表达式与运算符
  6. LightOJ - 1409 Rent a Car(最小费用最大流)
  7. 2021年中国低密度PET泡沫市场趋势报告、技术动态创新及2027年市场预测
  8. oracle的一些操作
  9. 可变字符串 插入,删除,替换,赋值
  10. 浅析jQuery源码
  11. 算法 --- 阿克曼(Ackmann)函数
  12. 2.11 神奇的自定义画笔 [Ps教程]
  13. html thead作用,HTML thead 标签定义和用法详细介绍
  14. 论文笔记:ALA loss:Adaptive Logit Adjustment Loss for Long-Tailed Visual Recognition
  15. Brave与Uphold合作推出钱包以奖励用户浏览
  16. 用winrar压缩工具切分文件和合并文件
  17. 我发布在Steam的两款游戏
  18. c语言18之鸡兔同笼,共有98个头,386只脚,编程求鸡兔各多少只
  19. matlab怎么选清浊音做短时谱,语音信号处理实验三
  20. tomcat守护进程

热门文章

  1. 华科网络内容管理系统 v5.6 手机 PC
  2. Hudson持续集成工具v3.3.3
  3. 三菱plc指令大全详解图表_三菱PLC的常见问题大全!
  4. ios 渐变透明背景_15张案例,告诉你PPT背景的处理套路
  5. 帝国CMS默认编辑器插入代码插件
  6. 蓝蛇端口扫描器 v2.8.4.724
  7. keil如何看c语言编译器,MDK Keil编译器编译窗口的设置
  8. 跳过微信内置浏览器缓存
  9. 【易语言】五子棋源码
  10. vs2008打开vs2010所做的项目的方法