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中多线程thread与threading的实现方法
Aug 18 Python
python根据文件大小打log日志
Oct 09 Python
python dict 字典 以及 赋值 引用的一些实例(详解)
Jan 20 Python
Python聊天室程序(基础版)
Apr 01 Python
python调用xlsxwriter创建xlsx的方法
May 03 Python
在python中利用GDAL对tif文件进行读写的方法
Nov 29 Python
python三引号输出方法
Feb 27 Python
Python中*args和**kwargs的区别详解
Sep 17 Python
python 读取二进制 显示图片案例
Apr 24 Python
Python爬虫之爬取哔哩哔哩热门视频排行榜
Apr 28 Python
Django程序的优化技巧
Apr 29 Python
仅用几行Python代码就能复制她的U盘文件?
Jun 26 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 导出Excel示例分享
2014/08/18 PHP
PHP队列用法实例
2014/11/05 PHP
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
2018/04/20 PHP
YII框架http缓存操作示例
2019/04/29 PHP
跨域表单提交状态的变相判断代码
2009/11/12 Javascript
JavaScript中的排序算法代码
2011/02/22 Javascript
jQuery的12招常用技巧分享
2011/08/08 Javascript
用nodejs访问ActiveX对象,以操作Access数据库为例。
2011/12/15 NodeJs
javascript中几个容易混淆的概念总结
2015/04/14 Javascript
介绍JavaScript中Math.abs()方法的使用
2015/06/14 Javascript
json+jQuery实现的无限级树形菜单效果代码
2015/08/27 Javascript
怎样判断jQuery当前元素是隐藏还是显示
2016/11/23 Javascript
Angularjs的键盘事件的绑定
2017/07/27 Javascript
浅析Vue自定义组件的v-model
2017/11/26 Javascript
AngularJS 监听变量变化的实现方法
2018/10/09 Javascript
Vue+webpack项目配置便于维护的目录结构教程详解
2018/10/14 Javascript
js如何实现元素曝光上报
2019/08/07 Javascript
通过实例了解JS 连续赋值
2019/09/24 Javascript
在vue中使用echars实现上浮与下钻效果
2019/11/08 Javascript
基于vue3.0.1beta搭建仿京东的电商H5项目
2020/05/06 Javascript
[02:16]2018年度CS GO最具人气选手-完美盛典
2018/12/16 DOTA
python冒泡排序简单实现方法
2015/07/09 Python
关于django 数据库迁移(migrate)应该知道的一些事
2018/05/27 Python
Python应用库大全总结
2018/05/30 Python
python 给DataFrame增加index行名和columns列名的实现方法
2018/06/08 Python
postman模拟访问具有Session的post请求方法
2019/07/15 Python
Python3 requests文件下载 期间显示文件信息和下载进度代码实例
2019/08/16 Python
HTML5页面直接调用百度地图API获取当前位置直接导航目的地的实现代码
2018/03/02 HTML / CSS
JAVA招聘远程笔试题
2015/07/23 面试题
自我评价格式
2014/01/06 职场文书
转预备党员政审材料
2014/02/06 职场文书
2014领导班子专题民主生活会对照检查材料思想汇报
2014/09/23 职场文书
初三毕业评语
2014/12/26 职场文书
销售经理岗位职责范本
2015/04/02 职场文书
护士岗位竞聘书
2015/09/15 职场文书
Nginx使用Lua模块实现WAF的原理解析
2021/09/04 Servers