select_related prefetch_related】的更多相关文章

准备 定义如下模型 from django.db import models # 省份 class Province(models.Model): name = models.CharField(max_length=10) # 城市 class City(models.Model): name = models.CharField(max_length=5) province = models.ForeignKey(Province) # 人 class Person(models.Model…
- 性能相关 user_list = models.UserInfo.objects.all() for row in user_list: # 只去取当前表数据 select_related,主动连表查询[FK] user_list = models.UserInfo.objects.all().select_related('FK字段') for row in user_list: # 只去取当前表数据和FK表关联字段 user_list = models.UserInfo.objects.…
q = models.UserInfo.objects.all() select * from userinfo select * from userinfo inner join usertype on ... for row in q: print(row.name,row.ut.title) select_related: 查询主动做连表 q = models.UserInfo.objects.all().select_related('ut','gp') select * from us…
1.select_related: 只能用在一对多或者是一对一的关联模型之间,不能用在多对多或者是多对一的关联模型间,比如可以提前获取文章的作者,但是不能通过作者获取作者的文章,或者是通过某篇文章获取这个文章的所有的标签. 比如,想要获取与Book表通过外键的形式相关联的Author表中的数据,示例代码如下: from django.db import connection from django.http import HttpResponse from .models import Arti…
# select_related与prefetch_related# # select_related帮你直接连表操作 查询数据 括号内只能放外键字段# # res = models.Book.objects.all().select_related('publish')# # for r in res:# # print(r.publish.name)# # res = models.Book.objects.all().select_related('publish__xxx__yyy__t…
python基础 1.helloworld 2.运算符&while循环 3.pycharm安装&for循环&format字符串&list列表&set集合使用 4.元组&字典&字符串&队列 5.文件操作 6.深浅拷贝 7.函数&命名空间&作用域&闭包 8.装饰器函数&进阶 9.迭代器&生成器函数&生成器进阶&推导式 10.匿名函数&内置函数 11.常用模块 12.包的导入&…
django复习 django和其他框架的对比 django,集成很多功能的大型框架,为开发者提供了很多方便的组件:orm.form.ModelForm.auth.admin.contenttypes.模板引擎.session.缓存.分页 flask,轻量级的框架.自己的功能少,但是可扩展强有强大的第三方组件的支持. tornado - 异步非阻塞框架(自己写socket,可以不使用第三方wsgi) - 自带websocket django请求生命周期 1.wsgi,请求封装后交给web框架 (…
2018-11-14 21:26:45 实现了购物车功能! 涉及到了redis的使用  需要在pycharm中下载   django_redis 其他的看一下笔记,有购物车里面数据存储的结构才发现数据结构很重要!有空的时候恶补一下!过几天回学校!!!把博客完整整理再整理一下面试题!!越努力,越幸运!永远不要高估自己! shopcar.py from rest_framework.views import APIView from rest_framework.viewsets import Ge…
Django进阶之Model操作复习 一.字段 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自增列,必须填入参数 primary_key=True 注:当model中如果没有自增列,则自动会创建一个列名为id的列 from django.db import models class UserInfo(models.Model): # 自动创建一个列名为id的且为自增的整数列 u…
安装django-debug-tools Python学习---django-debug-tools安装 性能测试: settings.py INSTALLED_APPS = [ ... 'app01', # 注册app ] STATICFILES_DIRS = (os.path.join(BASE_DIR, "statics"),) # 现添加的配置,这里是元组,注意逗号 TEMPLATES = [ ... 'DIRS': [os.path.join(BASE_DIR, 'templ…