1、only  defer  

only: 获取数据表中某列或多列的值,注意获取的是对象,如果查询字段不是括号内的,效率反而变低

defer: 获取除了某列或某几列的数据,注意获取的是对象

User.objects.values('id', 'name')
User.objects.values_list('id', 'name') ret = User.objects.only('id', 'name')
for i in ret:
print(i.id, i.nme)

2、selected_related

进行跨表查询的时候,会先进行连表,这里的db是外键的字段

# 查询用户的姓名和部门名称,先链表再查询
result = User.objects.all().seleted_related('dp')
for item in result:
print(item.name,item.dp.title)

多用于 one2one 或 foreginkey

缺点:链表次数过多,反而会减低查询效率

3、prefecth_related

进行来两次查询,先查询一次,再查询和要查询数据有关的数据

result = User.objects.all().prefetch_related('dp')
for item in result:
print(item.name,item.dp.title)

多用于 mang2many

4、外键产生的原因

节约硬盘空间

当数据量比较大的时候,不要使用外键,允许数据出现冗余

最新文章

  1. ES6+ 现在就用系列(二):let 命令
  2. rem的使用
  3. 【C#】 格式化说明符 string.Format WriteLine
  4. ThreadLocal线程范围内的共享变量
  5. Linux workqueue工作原理 【转】
  6. python参考手册 Read
  7. swfupload上传
  8. oracle语句块调用
  9. IIS 部署ASP.Net, WebAPI, Restful API, PUT/DELETE 报405错解决办法, webapi method not allowed 405
  10. asp.net core高级应用:TagHelper+Form
  11. 云计算虚拟机技术-KVM安装
  12. win10无法删除文件夹(其中的文件或者文件夹已在另一个程序中打开)怎么办?
  13. JS 自己实现Map
  14. JAVA的各种O
  15. ftp服务器搭建(离线安装vsftpd),配置
  16. 理解Java反射
  17. MySQL缓存机制详解(一)
  18. 小程序采坑之setData
  19. package html to native application
  20. day2-python基础

热门文章

  1. 2018-8-10-win10-uwp-x_Bind-无法获得资源
  2. 安装 Sureface Hub 系统 Windows 10 team PPIPro 系统
  3. H3C DHCP特点
  4. Vue.js 学习笔记 第7章 组件详解
  5. 【js】 vue 2.5.1 源码学习(一) 大体结构 (自写版本,非源码)
  6. H3C IP地址与子网掩码
  7. remote api
  8. javaweb项目部署到tomcat之后java文件没有编译
  9. MyISAM与InnoDB的索引实现区别
  10. 【一起学源码-微服务】Nexflix Eureka 源码十三:Eureka源码解读完结撒花篇~!