1. 1.查询方法:
  2.  
  3. <1> all(): 查询所有结果
  4.  
  5. <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象
  6.  
  7. <3> get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。
  8.  
  9. <4> exclude(**kwargs): 它包含了与所给筛选条件不匹配的对象
  10.  
  11. <5> order_by(*field): 对查询结果排序('-id')
  12.  
  13. <6> reverse(): 对查询结果反向排序
  14.  
  15. <8> count(): 返回数据库中匹配查询(QuerySet)的对象数量。
  16.  
  17. <9> first(): 返回第一条记录
  18.  
  19. <10> last(): 返回最后一条记录
  20.  
  21. <11> exists(): 如果QuerySet包含数据,就返回True,否则返回False
  22.  
  23. <12> values(*field): 返回一个ValueQuerySet——一个特殊的QuerySet,运行后得到的并不是一系列
  24. model的实例化对象,而是一个可迭代的字典序列
  25. <13> values_list(*field): 它与values()非常相似,它返回的是一个元组序列,values返回的是一个字典序列
  26.  
  27. <14> distinct(): 从返回结果中剔除重复纪录
  28.  
  29. 2.双下划綫之模糊查询:
  1. <1> all(): 查询所有结果
  2.  
  3. <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象
  4.  
  5. <3> get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。
  6.  
  7. <4> exclude(**kwargs): 它包含了与所给筛选条件不匹配的对象
  8.  
  9. <5> order_by(*field): 对查询结果排序('-id')
  10.  
  11. <6> reverse(): 对查询结果反向排序
  12.  
  13. <8> count(): 返回数据库中匹配查询(QuerySet)的对象数量。
  14.  
  15. <9> first(): 返回第一条记录
  16.  
  17. <10> last(): 返回最后一条记录
  18.  
  19. <11> exists(): 如果QuerySet包含数据,就返回True,否则返回False
  20.  
  21. <12> values(*field): 返回一个ValueQuerySet——一个特殊的QuerySet,运行后得到的并不是一系列
  22. model的实例化对象,而是一个可迭代的字典序列
  23. <13> values_list(*field): 它与values()非常相似,它返回的是一个元组序列,values返回的是一个字典序列
  24.  
  25. <14> distinct(): 从返回结果中剔除重复纪录
  1. 单表查询练习
  2.  
  3. import os
  4.  
  5. if __name__ == '__main__':
  6. os.environ.setdefault("DJANGO_SETTINGS_MODULE", "template_import.settings")
  7. import django
  8. django.setup()
  9.  
  10. from template001 import models
  11.  
  12. book = models.Book.objects.create(name='红楼梦', price=23.8, publish='人民出版社', author='曹雪芹', create_data='2018-09-17')
  13. book = models.Book.objects.create(name='红楼梦', price=23.8, publish='人民出版社', author='曹雪芹', create_data='2018-09-17')
  14. import datetime
  15. ctime = datetime.datetime.now()
  16. book = models.Book.objects.create(name='西游记', price=100, publish='北京出版社', author='吴承恩', create_data=ctime)
  17. ret = models.Book.objects.all()
  18. print(ret)
  19. #
  20. #
  21. # 查询老男孩出版社出版过的价格大于200的书籍
  22. book = models.Book.objects.filter(price__gt='',publish='老男孩出版社')
  23. print(book)
  24. #
  25. # 查询2017年8月出版的所有以py开头的书籍名称
  26. book = models.Book.objects.filter(name__startswith='py',create_data__range=['2018-08-01','2018-08-31'])
  27. print(book)
  28. #
  29. # 查询价格为50, 100
  30. # 或者150的所有书籍名称及其出版社名称
  31. book = models.Book.objects.filter(price__in=['',''])
  32. book2 = models.Book.objects.filter(price=150).values('name','price')
  33. print(book)
  34. print(book2)
  35. #
  36. # 查询价格在100到200之间的所有书籍名称及其价格
  37. book = models.Book.objects.filter(price__range=[100, 200]).values('name','price')
  38. print(book)
  39. #
  40. # 查询所有人民出版社出版的书籍的价格(从高到低排序,去重)
  41. book = models.Book.objects.filter(publish='人民出版社').order_by('-price')
  42. print(book)
  43. #
  44. # 查找所有书名里包含楼的书
  45. book = models.Book.objects.filter(name__contains='楼')
  46. print(book)
  47. #
  48. # 查找出版日期是2017年的书
  49. book = models.Book.objects.filter(create_data__year='')
  50. print(book)
  51. #
  52. # 查找出版日期是2017年的书名
  53. book = models.Book.objects.filter(create_data__year='').values('name')
  54. print(book)
  55. #
  56. # 查找价格大于10元的书
  57. print('-----------')
  58. book = models.Book.objects.filter(price__gt='')
  59. print(book)
  60. #
  61. # 查找价格大于10元的书名和价格
  62. book = models.Book.objects.filter(price__gt='').values('name','price')
  63. print(book)

django之单表操作的更多相关文章

  1. django第8天(在测试文件中运行django项目|单表操作)

    django第8天 在测试文件中运行django项目 1.将项目配置文件数据库该为mysql,修改配置信息 PORT = '127.0.0.1' DATABASES = { 'default': { ...

  2. django ORM单表操作

    1.ORM介绍 ORM是“对象-关系-映射”的简称 映射关系: mysql---------Python 表名----------类名 字段----------属性 表记录--------实例化对象 ...

  3. Django学习笔记(7)——单表操作和多表操作

    单表操作 1,创建模型 创建名为book的APP,在book下的models.py中创建模型: from django.db import models # Create your models he ...

  4. web框架开发-Django模型层(1)之ORM简介和单表操作

    ORM简介 不需要使用pymysql的硬编码方式,在py文件中写sql语句,提供更简便,更上层的接口,数据迁移方便(有转换的引擎,方便迁移到不同的数据库平台)…(很多优点),缺点,因为多了转换环节,效 ...

  5. Django模型层-单表操作

    ORM介绍 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的 ...

  6. Django单表操作

    一.数据库相关设置 配置ORM的loggers日志: # 配置ORM的loggers日志 LOGGING = { 'version': 1, 'disable_existing_loggers': F ...

  7. Django之模型层(单表操作)

    一.ORM简介 MVC和MTV框架中包含一个重要部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库. ORM是‘对象-关系- ...

  8. Django中模型层中ORM的单表操作

    ORM概念: MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员 ...

  9. day 46 Django 学习3 数据库单表操作以及反向解析

    前情提要: Django 已经学了不少了, 今天学习链接数据库的操作.以及相关的反向解析等 一:反向解析 1:反向解析模板层 跳转时设定url会随着前面的路由改变而改变         2:反向解析之 ...

随机推荐

  1. mysql 求季度产量平均值

    表名:product 表结构: 表数据: 如果使用日期查询的话:sql: SELECT QUARTER(create_time) AS '季度',AVG(seller) AS '平均值' FROM p ...

  2. spring 多个数据库之间切换

    多数据源问题很常见,例如读写分离数据库配置. 原来的项目出现了新需求,局方要求新增某服务器用以提供某代码,涉及到多数据源的问题. 研究成果如下: 1.首先配置多个datasource [html] v ...

  3. linux学习笔记6--命令mv

    mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. mv命令用来对文件或目录重新命名,或者将文 ...

  4. InnoDB: auto-extending data file ./ibdata1 is of a different size 640 pages (rounded down to MB) than specified in the .cnf file: initial 768 pages, max 0 (relevant if non-zero) pages!

    问题描述: centos 安装MySQL $yum install mysql-server 安装之后执行命令mysql 报错: 查看mysql的启动日志: [ERROR] InnoDB: auto- ...

  5. git clone ....git

    [root@st153 git_test3]# git clone git@gitlab.gaobo.com:root/pythontest1.gitCloning into 'pythontest1 ...

  6. 临界区(Critical Section)的封装和使用示例

    向我老大致敬! 这个做法其实是抄我老大的.服务器中,多线程经常需要使用临界区,为了简化代码的使用,把临界区封装为 CThreadLockHandle  类,通过封装,使用临界区资源每次只需要一行代码, ...

  7. linux在桌面和dos之间的切换

    在linux 终端执行某条命令(init 5)时 提示一下错误 init :Need to be root 是提示要获取root权限 输入su 回车输入密码

  8. google web design html5制作工具

    Google 推出 Web Designer,帮助你做 HTML 5 设计的免费本地应用,支持 Windows 和 OS X 2013年10月1日        感谢读者 SamRaper 的提醒. ...

  9. JFinal使用笔记3-注册和登录功能开发记录

    首页 开源项目 问答 代码 博客 翻译 资讯 移动开发 招聘 城市圈 当前访客身份:游客 [ 登录 | 加入开源中国 ]   当前访客身份: 游客 [ 登录 | 加入开源中国 ] 软件   土龙 关注 ...

  10. 下列哪个为JSP的隐含对象。

    下列哪个为JSP的隐含对象. A.env B.page C.jspinfo D.context 解答:B JSP有九个隐士对象 request对象:保存了很多客户端请求的信息. response对象: ...