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 的列表遍历删除实现代码
Apr 12 Python
import的本质解析
Oct 30 Python
Python中property函数用法实例分析
Jun 04 Python
浅谈django rest jwt vue 跨域问题
Oct 26 Python
浅谈python编译pyc工程--导包问题解决
Mar 20 Python
树莓派使用USB摄像头和motion实现监控
Jun 22 Python
Python pip替换为阿里源的方法步骤
Jul 02 Python
python实现最大子序和(分治+动态规划)
Jul 05 Python
python GUI图形化编程wxpython的使用
Jul 19 Python
Python jieba库用法及实例解析
Nov 04 Python
在Mac中配置Python虚拟环境过程解析
Jun 22 Python
python实现三种随机请求头方式
Jan 05 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的历史和优缺点
2006/10/09 PHP
用文本作数据处理
2006/10/09 PHP
php获取错误信息的方法
2015/07/17 PHP
ThinkPHP中调用PHPExcel的实现代码
2017/04/08 PHP
PHP框架laravel的.env文件配置教程
2017/06/07 PHP
解决表单中第一个非隐藏的元素获得焦点的一个方案
2009/10/26 Javascript
jquery CSS选择器笔记
2010/03/29 Javascript
JS子父窗口互相操作取值赋值的方法介绍
2013/05/11 Javascript
js实现通用的微信分享组件示例
2014/03/10 Javascript
在JavaScript中操作数组之map()方法的使用
2015/06/09 Javascript
JavaScript AOP编程实例
2015/06/16 Javascript
【经验总结】编写JavaScript代码时应遵循的14条规律
2016/06/20 Javascript
微信小程序  modal详解及实例代码
2016/11/09 Javascript
原生JS获取元素集合的子元素宽度实例
2016/12/14 Javascript
Javascript实现信息滚动效果
2017/05/18 Javascript
jquery实现放大镜简洁代码(推荐)
2017/06/08 jQuery
利用JS如何计算字符串所占字节数示例代码
2017/09/13 Javascript
vue使用element-ui的el-input监听不了回车事件的解决方法
2018/01/12 Javascript
vue+webpack实现异步组件加载的方法
2018/02/03 Javascript
基于jQuery.i18n实现web前端的国际化
2018/05/04 jQuery
利用npm 安装删除模块的方法
2018/05/15 Javascript
原生JS实现列表子元素顺序反转的方法分析
2018/07/02 Javascript
JS实现的小火箭发射动画效果示例
2018/12/08 Javascript
微信小程序实现身份证取景框拍摄
2020/09/09 Javascript
用python编写第一个IDA插件的实例
2018/05/29 Python
python实现简单飞行棋
2020/02/06 Python
python批量生成条形码的示例
2020/10/10 Python
《雪地里的小画家》教学反思
2014/02/22 职场文书
体育节口号
2014/06/19 职场文书
暑期学习心得体会
2014/09/02 职场文书
公司客户答谢酒会祝酒词
2015/08/11 职场文书
西部计划志愿者工作总结
2015/08/11 职场文书
关于考试抄袭的检讨书
2019/11/02 职场文书
Nginx中break与last的区别详析
2021/03/31 Servers
Python编解码问题及文本文件处理方法详解
2021/06/20 Python
详解MySQL的主键查询为什么这么快
2022/04/03 MySQL