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使用循环实现批量创建文件夹示例
Mar 25 Python
Python中用Descriptor实现类级属性(Property)详解
Sep 18 Python
Python实现读取并保存文件的类
May 11 Python
Python读csv文件去掉一列后再写入新的文件实例
Dec 28 Python
Python字典中的键映射多个值的方法(列表或者集合)
Oct 17 Python
对python xlrd读取datetime类型数据的方法详解
Dec 26 Python
如何在Django中添加没有微秒的 DateTimeField 属性详解
Jan 30 Python
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
Apr 01 Python
为什么是 Python -m
Jun 19 Python
Python使用jpype模块调用jar包过程解析
Jul 29 Python
利于python脚本编写可视化nmap和masscan的方法
Dec 29 Python
Python中for后接else的语法使用
May 18 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
删除及到期域名的查看(抢域名必备哦)
2008/05/14 PHP
使用PHPMailer实现邮件发送代码分享
2014/10/23 PHP
Symfony2创建页面实例详解
2016/03/18 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
2020/05/01 PHP
查看源码的工具 学习jQuery源码不错的工具
2011/12/26 Javascript
jQuery+css+html实现页面遮罩弹出框
2013/03/21 Javascript
ExtJs默认的字体大小改变的几种方法(自己整理)
2013/04/18 Javascript
IE6已终止操作问题的2种情况及解决
2014/04/23 Javascript
如何正确使用javascript 来进行我们的程序开发
2014/06/23 Javascript
javascript中HTMLDOM操作详解
2014/12/11 Javascript
jQuery实现的多屏图像图层切换效果实例
2015/05/07 Javascript
jQuery动画效果相关方法实例分析
2015/12/31 Javascript
详解ECharts使用心得总结
2016/12/06 Javascript
微信小程序 闭包写法详细介绍
2016/12/14 Javascript
js 判断登录界面的账号密码是否为空
2017/02/08 Javascript
详解angularjs的数组传参方式的简单实现
2017/07/28 Javascript
react-native fetch的具体使用方法
2017/11/01 Javascript
基于vue.js中事件修饰符.self的用法(详解)
2018/02/23 Javascript
python封装对象实现时间效果
2020/04/23 Python
python下载文件时显示下载进度的方法
2015/04/02 Python
python使用xmlrpclib模块实现对百度google的ping功能
2015/06/02 Python
为Python的Tornado框架配置使用Jinja2模板引擎的方法
2016/06/30 Python
Python三种遍历文件目录的方法实例代码
2018/01/19 Python
python Web开发你要理解的WSGI &amp; uwsgi详解
2018/08/01 Python
Python 使用 environs 库定义环境变量的方法
2020/02/25 Python
详解Django中views数据查询使用locals()函数进行优化
2020/08/24 Python
python 实现压缩和解压缩的示例
2020/09/22 Python
python 动态渲染 mysql 配置文件的示例
2020/11/20 Python
关于django python manage.py startapp 应用名出错异常原因解析
2020/12/15 Python
英国家电购物网站:Sonic Direct
2019/03/26 全球购物
Deux par Deux官方网站:设计师童装
2020/01/03 全球购物
施华洛世奇新加坡官网:SWAROVSKI新加坡
2020/10/06 全球购物
什么是Linux虚拟文件系统VFS
2015/08/25 面试题
通息工程毕业生自荐信
2013/10/16 职场文书
2016秋季校长开学典礼致辞
2015/11/26 职场文书
为什么阅读对所有年龄段的孩子都很重要?
2019/07/08 职场文书