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中的多线程实例教程
Aug 27 Python
python list格式数据excel导出方法
Oct 31 Python
python 将大文件切分为多个小文件的实例
Jan 14 Python
Django Celery异步任务队列的实现
Jul 24 Python
django 快速启动数据库客户端程序的方法示例
Aug 16 Python
Django错误:TypeError at / 'bool' object is not callable解决
Aug 16 Python
关于pycharm中pip版本10.0无法使用的解决办法
Oct 10 Python
基于pygame实现童年掌机打砖块游戏
Feb 25 Python
Python定时器线程池原理详解
Feb 26 Python
python 函数嵌套及多函数共同运行知识点讲解
Mar 03 Python
python用opencv完成图像分割并进行目标物的提取
May 25 Python
python开发人人对战的五子棋小游戏
May 02 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
德生S2000收音机更换“钕铁硼”全频扬声器
2021/03/02 无线电
php录入页面中动态从数据库中提取数据的实现
2006/10/09 PHP
如何利用PHP执行.SQL文件
2013/07/05 PHP
php获取数组元素中头一个数组元素值的实现方法
2014/12/20 PHP
PHP实现的简单mock json脚本分享
2015/02/10 PHP
Yii2基于Ajax自动获取表单数据的方法
2016/08/10 PHP
PHP API接口必备之输出json格式数据示例代码
2017/06/27 PHP
Javascript attachEvent传递参数的办法
2009/12/14 Javascript
基于Jquery的文字自动截取(提供源代码)
2011/08/09 Javascript
js正则表达式的使用详解
2013/07/09 Javascript
javascript中实现兼容JAVA的hashCode算法代码分享
2020/08/11 Javascript
AngularJs定制样式插入到ueditor中的问题小结
2016/08/01 Javascript
js表单元素checked、radio被选中的几种方法(详解)
2016/08/22 Javascript
JS实现HTML标签转义及反转义
2020/04/14 Javascript
JavaScript 中 apply 、call 的详解
2017/03/21 Javascript
Bootstrap实现各种进度条样式详解
2017/04/13 Javascript
快速使用node.js进行web开发详解
2017/04/26 Javascript
vue中导出Excel表格的实现代码
2018/10/18 Javascript
微信小程序实现点赞、取消点赞功能
2018/11/02 Javascript
个人小程序接入支付解决方案
2019/05/23 Javascript
详解Python的迭代器、生成器以及相关的itertools包
2015/04/02 Python
Python安装lz4-0.10.1遇到的坑
2018/05/20 Python
Python Logging 日志记录入门学习
2018/06/02 Python
利用Python如何批量修改数据库执行Sql文件
2018/07/29 Python
Python反射和内置方法重写操作详解
2018/08/27 Python
Python面向对象思想与应用入门教程【类与对象】
2019/04/12 Python
使用Python创建简单的HTTP服务器的方法步骤
2019/04/26 Python
用python写测试数据文件过程解析
2019/09/25 Python
HTML5 Canvas渐进填充与透明实现图像的Mask效果
2013/07/11 HTML / CSS
移动端解决悬浮层(悬浮header、footer)会遮挡住内容的3种方法
2015/03/27 HTML / CSS
德国街头和运动文化高品质商店:BSTN Store
2017/08/26 全球购物
解释一下抽象方法和抽象类
2016/08/27 面试题
用Python匹配HTML tag的时候,<.*>和<.*?>有什么区别
2012/11/04 面试题
开展创先争优活动总结
2014/08/28 职场文书
劳动模范获奖感言
2015/07/31 职场文书
python 如何用terminal输入参数
2021/05/25 Python