djang常用查询SQL语句的使用代码


Posted in Python onFebruary 15, 2019

将django语法和sql对应一下,希望对大家有所帮助

查询单个列的值

story.object.values_list("url", flat=True)
SELECT `story`.`url` FROM `hbtc_story` WHERE `story`.`status` = resolved

AND查询

Stories.objects.filter(Q(status='resolved') & Q(status='developing'))
SELECT * FROM `story` WHERE (`story`.`status` = resolved AND `story`.`status` = developing)

或查询

Stories.objects.filter(Q(status='resolved') | Q(status='developing'))
SELECT * FROM `story` WHERE (`story`.`status` = resolved OR `story`.`status` = developing)

NOT查询

Stories.objects.filter(~Q(status='resolved'))
SELECT * FROM `story` WHERE NOT (`story`.`status` = resolved)

查询为空

Stories.objects.filter(status__isnull=True)
SELECT * FROM `story` WHERE `story`.`plan_id_id` IS NULL

like查询

Stories.objects.filter(status__contains='resolved')
SELECT * FROM `story` WHERE `story`.`status` LIKE BINARY %resolved%;
Stories.objects.filter(status__endswith='resolved')

SELECT * FROM `story` WHERE `story`.`status` LIKE BINARY %resolved;
Stories.objects.filter(status__istartswith='resolved')

SELECT * FROM `story` WHERE `story`.`status` LIKE BINARY resolved%;

in查询

Stories.objects.filter(status__in=('resolved',))
SELECT * FROM `story` WHERE `story`.`status` IN (resolved) ;

distinct查询

story.object.values_list("status", flat=True).distinct()
SELECT DISTINCT `story`.`status` FROM `story`

具体示例代码

Django查询SQL语句

djang常用查询SQL语句的使用代码

# 1 res=models.Book.objects.all()
  # print(res)#<QuerySet [<Book: Book object>, <Book: Book object>, <Book: Book object>, <Book: Book object>, <Book: Book object>, <Book: Book object>]>

  #2 res=models.Book.objects.filter(price='555')
  # print(res)#<QuerySet [<Book: 海贼王>, <Book: 哆啦A梦>]>

  #3 res=models.Book.objects.get(nid=2)
  # print(res.price)#三月的狮子
  # res=models.Book.objects.get(nid=10)
  # print(res)#只能用于一个对象的里面

  #4 res=models.Book.objects.exclude(price='555')
  # print(res)#<QuerySet [<Book: 百变小樱>, <Book: 三月的狮子>, <Book: 水星领航员>, <Book: 火影忍者>]>

  #5 res=models.Book.objects.values('title','publishDate')
  # print(res)#<QuerySet [{'title': '百变小樱', 'publishDate': datetime.date(2000, 8, 8)}, {'title': '三月的狮子', 'publishDate': datetime.date(2017, 10, 19)}, {'title': '水星领航员', 'publishDate': datetime.date(2004, 2, 23)}, {'title': '火影忍者', 'publishDate': datetime.date(1996, 1, 2)}, {'title': '海贼王', 'publishDate': datetime.date(1995, 2, 2)}, {'title': '哆啦A梦', 'publishDate': datetime.date(1969, 12, 31)}]>

  #6 res=models.Book.objects.values_list('title','price')
  # print(res)#<QuerySet [('百变小樱', Decimal('155.00')), ('三月的狮子', Decimal('114.00')), ('水星领航员', Decimal('999.99')), ('火影忍者', Decimal('99.20')), ('海贼王', Decimal('555.00')), ('哆啦A梦', Decimal('555.00'))]>

  #7 res=models.Book.objects.filter(price='555').distinct()
  # print(res)

  #8 res=models.Book.objects.count()
  # print(res) 6

  #9 res=models.Book.objects.first()
  # print(res)#百变小樱

  #10 res=models.Book.objects.exists()
  # print(res)#True

####################################################
  #1 res=models.Book.objects.filter(price__gt=200 )
  # print(res)#<QuerySet [<Book: 水星领航员>, <Book: 海贼王>, <Book: 哆啦A梦>]>
  #
  #2 res=models.Book.objects.filter(price__lte=555,price__gte=114)
  # print(res)#<QuerySet [<Book: 百变小樱>, <Book: 三月的狮子>, <Book: 海贼王>, <Book: 哆啦A梦>]>

  #3 res=models.Book.objects.filter(publishDate__year=2017)
  # print(res)#<QuerySet [<Book: 三月的狮子>]>

  #4 res=models.Book.objects.filter(title__startswith='水')
  # print(res)#<QuerySet [<Book: 水星领航员>]>

  #5 res=models.Book.objects.filter(title__contains='小')
  # print(res)#<QuerySet [<Book: 百变小樱>]>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中模块与包有相同名字的处理方法
May 05 Python
Python基于百度AI的文字识别的示例
Apr 21 Python
详解python中的json和字典dict
Jun 22 Python
python获取时间及时间格式转换问题实例代码详解
Dec 06 Python
用python脚本24小时刷浏览器的访问量方法
Dec 07 Python
使用python画社交网络图实例代码
Jul 10 Python
Python处理session的方法整理
Aug 29 Python
python 调试冷知识(小结)
Nov 11 Python
python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例
Feb 28 Python
Python3 pickle对象串行化代码实例解析
Mar 23 Python
Python脚本实现Zabbix多行日志监控过程解析
Aug 26 Python
Python基础进阶之海量表情包多线程爬虫功能的实现
Dec 17 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
Feb 15 #Python
Python提取支付宝和微信支付二维码的示例代码
Feb 15 #Python
Python实现的IP端口扫描工具类示例
Feb 15 #Python
Python标准库使用OrderedDict类的实例讲解
Feb 14 #Python
Python从文件中读取数据的方法讲解
Feb 14 #Python
python爬取cnvd漏洞库信息的实例
Feb 14 #Python
基于python历史天气采集的分析
Feb 14 #Python
You might like
5.PHP的其他功能
2006/10/09 PHP
php桌面中心(一) 创建数据库
2007/03/11 PHP
劣质的PHP代码简化
2010/02/08 PHP
解析mysql 表中的碎片产生原因以及清理
2013/06/22 PHP
浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)
2013/06/29 PHP
smarty中js的调用方法示例
2014/10/27 PHP
ThinkPHP连接数据库的方式汇总
2014/12/05 PHP
php使用google地图应用实例
2014/12/31 PHP
php封装的连接Mysql类及用法分析
2015/12/10 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
2017/08/28 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
seajs1.3.0源码解析之module依赖有序加载
2012/11/07 Javascript
如何解决Jquery库及其他库之间的$命名冲突
2013/09/15 Javascript
seaJs的模块定义和模块加载浅析
2014/06/06 Javascript
jQuery基于扩展实现的倒计时效果
2016/05/14 Javascript
原生js编写基于面向对象的分页组件
2016/12/05 Javascript
Vuex简单入门
2017/04/19 Javascript
JavaScript面向对象精要(下部)
2017/09/12 Javascript
官方推荐react-navigation的具体使用详解
2018/05/08 Javascript
vue中英文切换实例代码
2020/01/21 Javascript
原生js实现下拉框选择组件
2021/01/20 Javascript
python实现倒计时的示例
2014/02/14 Python
Python 爬虫爬取指定博客的所有文章
2016/02/17 Python
Python实现的文本编辑器功能示例
2017/06/30 Python
Python中创建二维数组
2018/10/17 Python
Django之form组件自动校验数据实现
2020/01/14 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
2020/04/10 Python
在jupyter notebook中调用.ipynb文件方式
2020/04/14 Python
Python嵌入C/C++进行开发详解
2020/06/09 Python
HTML5之HTML元素扩展(上)—新增加的元素及使用概述
2013/01/31 HTML / CSS
创建学习型党组织实施方案
2014/03/29 职场文书
超市开业庆典策划方案
2014/05/14 职场文书
人事行政经理岗位职责
2014/06/18 职场文书
村干部任职承诺书
2015/01/21 职场文书
2015年文员个人工作总结
2015/04/09 职场文书
2015年档案室工作总结
2015/05/23 职场文书