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交换变量
Sep 06 Python
python根据给定文件返回文件名和扩展名的方法
Mar 27 Python
Python随机读取文件实现实例
May 25 Python
OpenCV+python手势识别框架和实例讲解
Aug 03 Python
python递归全排列实现方法
Aug 18 Python
Python使用logging模块实现打印log到指定文件的方法
Sep 05 Python
pytorch 求网络模型参数实例
Dec 30 Python
Python如何将字符串转换为日期
Jul 31 Python
如何真正的了解python装饰器
Aug 14 Python
Python+OpenCV图像处理——实现直线检测
Oct 23 Python
python使用requests库爬取拉勾网招聘信息的实现
Nov 20 Python
Python基础之常用库常用方法整理
Apr 30 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
第七节--类的静态成员
2006/11/16 PHP
php中smarty模板条件判断用法实例
2015/06/11 PHP
PHP生成唯一订单号
2015/07/05 PHP
JavaScript replace(rgExp,fn)正则替换的用法
2010/03/04 Javascript
YUI模块开发原理详解
2013/11/18 Javascript
javascript:void(0)的问题使用探讨
2014/04/10 Javascript
基于jquery实现的可编辑下拉框实现代码
2014/08/02 Javascript
jQuery中:input选择器用法实例
2015/01/03 Javascript
每天一篇javascript学习小结(RegExp对象)
2015/11/17 Javascript
深入浅析JavaScript中的3DES
2016/08/24 Javascript
jquery 实现回车登录详解及实例代码
2016/10/23 Javascript
jQuery实现手势解锁密码特效
2017/08/14 jQuery
JS库 Highlightjs 添加代码行号的实现代码
2017/09/13 Javascript
vue中简单弹框dialog的实现方法
2018/02/26 Javascript
jQuery 实现批量提交表格多行数据的方法
2018/08/09 jQuery
uni-app实现点赞评论功能
2019/11/25 Javascript
vue 实现把路由单独分离出来
2020/08/13 Javascript
js前端传json后台接收‘‘被转为quot的问题解决
2020/11/12 Javascript
[31:33]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第一场
2014/05/23 DOTA
python创建列表并给列表赋初始值的方法
2015/07/28 Python
Python绘制正余弦函数图像的方法
2018/08/28 Python
python批量从es取数据的方法(文档数超过10000)
2018/12/27 Python
Python3 列表,数组,矩阵的相互转换的方法示例
2019/08/05 Python
python3的数据类型及数据类型转换实例详解
2019/08/20 Python
python为Django项目上的每个应用程序创建不同的自定义404页面(最佳答案)
2020/03/09 Python
python列表的逆序遍历实现
2020/04/20 Python
详解基于python的图像Gabor变换及特征提取
2020/10/26 Python
Web Service面试题:如何搭建Axis2的开发环境
2012/06/20 面试题
国际金融专业大学生职业生涯规划书
2013/12/28 职场文书
党员教师工作决心书
2014/03/13 职场文书
企业口号大全
2014/06/12 职场文书
企业法人授权委托书范本
2014/09/23 职场文书
学校副校长四风对照检查材料整改措施
2014/09/25 职场文书
考研导师推荐信范文
2015/03/27 职场文书
2016年敬老月活动总结
2016/04/05 职场文书
Python初学者必备的文件读写指南
2021/06/23 Python