9.17 Django ORM分组
2018-9-17 19:53:22
预习:http://www.cnblogs.com/liwenzhou/p/8343243.html
新买个蓝牙挂耳耳机,感觉不错!
放上代码 笔记什么的明天继续 视频没看完!
最近想沉下心看书!
越努力,越幸运.永远不要高估自己!
# /usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/9/17 15:23
# @Author : TrueNewBee
"""
这里只涉及用法,不涉及具体数据内容
因为数据库里面内容我没有添加
2018-9-17 20:23:46
"""
import os
from app01 import models if __name__ == '__main__':
# 加载Django项目的配置信息
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite67.settings")
import django
django.setup() ret = models.Employee.objects.all().values("id")
print(ret) from django.db.models import Avg
ret = models.Employee.objects.values("dept").annotate(avg=Avg("salary")).value("dept", "avg")
print(ret) ret = models.Employee.objects.values("dept_id").annotate(avg=Avg("salary")).values("dept_name", "avg")
print(ret) # 查询所有的员工和部门名称
ret = models.Employee.objects.values("name", "dept_name")
print(ret) ret = models.Employee.objects.select_related().values("name", "dept_name")
print(ret)
ret = models.Employee.objects.select_related().values("name", "books_title")
print(ret)
print("="*120)
ret = models.Author.objects.preftch_related().values("name", "books_title")
print(ret) # 批量创建
# 有100个书籍对象
obj = [models.Book(title="沙河{}".format(i)) for i in range(100)] # 在数据库中批量创建 10次一提交
models.Book.objects.bulk_create(obj, 10)
# /usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/9/14 15:28
# @Author : TrueNewBee
import os
from app001 import models
"""
2018-9-14 19:29:12
这里只涉及用法,不涉及具体数据内容
因为数据库里面内容我没有添加 """ if __name__ == '__main__':
# 加载Django项目的配置信息
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite67.settings")
import django
django.setup() # 一对一的查询
# 和外键查询类似
author_obj = models.Author.objects.get(id=1)
obj = author_obj.detail
print(obj.hobby, obj.addr) # 在app01 里面查询 id是1的作者关联的书
from app01 import models
ret = models.Author.objects.get(id=1).books.all()
print(ret)
print("app01".center(80, "-")) # 在app02 里面查询 id是1的作者关联的书
# from app02 import models
ret = models.Author2Book.objects.filter(author_id=1).values_list("book_id")
# id是1的作者关联的书的id
print(ret)
ret = [i[0] for i in ret]
# 查书这张表
ret = models.Book.objects.filter(id_in=ret)
print(ret) # 在app03 里面查询id 是1的作者关联的书
# from app03 import models
ret = models.Author.objects.get(id=1).book.all()
print(ret)
# 从作者关联的书里面移除id是1的书
# 没有django ORM封装的那些快捷方式,我们要自己亲自修改第三张表
models.Author2Book.objects.get(author_id=1, book_id=1).delete()
9.17 Django ORM分组的更多相关文章
- Python - Django - ORM 分组查询补充
单表查询: models.py: from django.db import models class Employee(models.Model): name = models.CharField( ...
- django orm高级查询 F表达式和Q表达式以及分组annotate
1.关联关系映射及查询1.1django默认开启延迟加载所有多对1和1对1如果不使用select_related(),需要会延迟加载获取到相关对象,因为延迟可能会造成n+1次查询的问题,所以便有了se ...
- Django orm进阶查询(聚合、分组、F查询、Q查询)、常见字段、查询优化及事务操作
Django orm进阶查询(聚合.分组.F查询.Q查询).常见字段.查询优化及事务操作 聚合查询 记住用到关键字aggregate然后还有几个常用的聚合函数就好了 from django.db.mo ...
- python 之 Django框架(orm单表查询、orm多表查询、聚合查询、分组查询、F查询、 Q查询、事务、Django ORM执行原生SQL)
12.329 orm单表查询 import os if __name__ == '__main__': # 指定当前py脚本需要加载的Django项目配置信息 os.environ.setdefaul ...
- 9.14.16 Django ORM进阶用法
2018-9-14 14:26:45 ORM 练习题 : http://www.cnblogs.com/liwenzhou/articles/8337352.html 2018-9-14 21:1 ...
- django -orm操作总结
前言 Django框架功能齐全自带数据库操作功能,本文主要介绍Django的ORM框架 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MyS ...
- Django ORM 查询管理器
Django ORM 查询管理器 ORM 查询管理器 对于 ORM 定义: 对象关系映射, Object Relational Mapping, ORM, 是一种程序设计技术,用于实现面向对象编程语言 ...
- Django ORM那些相关操作
一般操作 https://docs.djangoproject.com/en/1.11/ref/models/querysets/ 官网文档 常用的操作 <1> all() ...
- django orm 及常用参数
一些说明: 表myapp_person的名称是自动生成的,如果你要自定义表名,需要在model的Meta类中指定 db_table 参数,强烈建议使用小写表名,特别是使用MySQL作为后端数据库时. ...
随机推荐
- 谁应该在CCB(变更控制委员会)中?
In software development, a Change Control Board (CCB) or Software Change Control Board (SCCB) is a c ...
- swift--歌曲播放示例
使用MPMoviePlayerController我们可以是进行音乐播放,如下图: 接口的话,我是自己在本地上搭建了个服务器,自己请求自己
- iOS protocbuf安装使用
protobuf文件地址:https://github.com/google/protobuf 1.问题/usr/local.bak/lib /usr/local.bak/man /usr/local ...
- form提交表单没接收到$_POST
分享一个最近做项目遇到的奇葩经历: 很奇怪的,我在弄一个表单提交的时候,后台验证就报了非post提交错误 我就郁闷了,我form明明写的method为post,不可能是非post错误啊 经历反应测试, ...
- 【代码审计】iZhanCMS_v2.1 前台GoodsController.php页面存在SQL注入漏洞分析
0x00 环境准备 iZhanCMS官网:http://www.izhancms.com 网站源码版本:爱站CMS(zend6.0) V2.1 程序源码下载:http://www.izhancms ...
- ISO27001信息安全管理体系
0x00 前言 初入甲方,刚开始接触的应该就是ISO27001信息安全管理体系,你拿到的应该就是一整套安全管理类的文档.在甲方,稍微有点规模的公司很注重制度和流程,岗位职责分工明细,那么这些安全管理制 ...
- Python 编程技巧
Python 生成器 Python 处理文件 Python 异常处理 Python 处理输入输出 Python 处理命令行参数 Python 对文件做校验 Python 对目录做遍历 Python 调 ...
- Jar命令
JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包;当然也是有区别的,JAR包中有一个META-INF\MANIFEST.MF文件,当你打成JAR包时,它会自动生成. 一.ja ...
- luanet分布式lua框架
luanet最初只是一个网络框架,它简单的封装了一些网络相关接口然后暴露到lua中,让lua可以构建简单的网络应用. 随着我的手游服务器的开发,我发现在C语言中要实现一个简洁易用的RPC调用接口并不容 ...
- jsp连接数据库的乱码问题 servlet请求参数编码处理get post
1.在所有需要读取数据的地方用下面的方式.同时jsp必须统一编码,如我都是UTF-8 String userName= new String(request.getParameter("us ...