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实现在matplotlib中两个坐标轴之间画一条直线光标的方法
May 20 Python
Python自动化运维和部署项目工具Fabric使用实例
Sep 18 Python
解决Python3中的中文字符编码的问题
Jul 18 Python
对Python 3.2 迭代器的next函数实例讲解
Oct 18 Python
python 实现一次性在文件中写入多行的方法
Jan 28 Python
pytorch如何冻结某层参数的实现
Jan 10 Python
如何使用python传入不确定个数参数
Feb 18 Python
pyqt5数据库使用详细教程(打包解决方案)
Mar 25 Python
python实现手势识别的示例(入门)
Apr 15 Python
Python实现计算图像RGB均值方式
Jun 04 Python
Python图像读写方法对比
Nov 16 Python
Python OpenCV实现传统图片格式与base64转换
Jun 13 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
php eval函数用法总结
2012/10/31 PHP
javascritp实现input输入框相关限制用法
2007/06/29 Javascript
javascript入门·图片对象(无刷新变换图片)\滚动图像
2007/10/01 Javascript
jquery关于图形报表的运用实现代码
2011/01/06 Javascript
深入理解JavaScript系列(10) JavaScript核心(晋级高手必读篇)
2012/01/15 Javascript
IE、FF、Chrome浏览器中的JS差异介绍
2013/08/13 Javascript
$.each与$().each的区别示例介绍
2014/03/20 Javascript
单击某一段文字改写文本颜色
2014/06/06 Javascript
jQuery的Each比JS原生for循环性能慢很多的原因
2016/07/05 Javascript
原生JS实现图片无缝滚动方法(附带封装的运动框架)
2017/10/01 Javascript
JS实现图片拖拽交换效果
2018/11/30 Javascript
微信小程序通过一个json实现分享朋友圈图片
2019/09/03 Javascript
Node.js之删除文件夹(含递归删除)代码实例
2019/09/09 Javascript
javascript设计模式 ? 中介者模式原理与用法实例分析
2020/04/20 Javascript
Vue SPA 首屏优化方案
2021/02/26 Vue.js
Python网页解析利器BeautifulSoup安装使用介绍
2015/03/17 Python
python 与GO中操作slice,list的方式实例代码
2017/03/20 Python
Python实现查找匹配项作处理后再替换回去的方法
2017/06/10 Python
python中找出numpy array数组的最值及其索引方法
2018/04/17 Python
详解Python安装scrapy的正确姿势
2018/06/26 Python
Python wxpython模块响应鼠标拖动事件操作示例
2018/08/23 Python
详解python中自定义超时异常的几种方法
2019/07/29 Python
基于Numba提高python运行效率过程解析
2020/03/02 Python
Django视图、传参和forms验证操作
2020/07/15 Python
Python 的 __str__ 和 __repr__ 方法对比
2020/09/02 Python
使用CSS3实现input多选框自定义样式的方法示例
2019/07/19 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(二)
2013/01/21 HTML / CSS
HTML5触摸事件演化tap事件介绍
2016/03/25 HTML / CSS
仓库组长岗位职责
2014/01/29 职场文书
小学三年级数学教学反思
2014/01/31 职场文书
工程质量承诺书
2014/03/27 职场文书
幼儿教师师德演讲稿
2014/05/06 职场文书
大学生青年志愿者活动总结
2015/05/06 职场文书
2015年司机年终工作总结
2015/05/14 职场文书
退休教师追悼词
2015/06/23 职场文书
一文弄懂MySQL中redo log与binlog的区别
2022/02/15 MySQL