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分组的更多相关文章

  1. Python - Django - ORM 分组查询补充

    单表查询: models.py: from django.db import models class Employee(models.Model): name = models.CharField( ...

  2. django orm高级查询 F表达式和Q表达式以及分组annotate

    1.关联关系映射及查询1.1django默认开启延迟加载所有多对1和1对1如果不使用select_related(),需要会延迟加载获取到相关对象,因为延迟可能会造成n+1次查询的问题,所以便有了se ...

  3. Django orm进阶查询(聚合、分组、F查询、Q查询)、常见字段、查询优化及事务操作

    Django orm进阶查询(聚合.分组.F查询.Q查询).常见字段.查询优化及事务操作 聚合查询 记住用到关键字aggregate然后还有几个常用的聚合函数就好了 from django.db.mo ...

  4. python 之 Django框架(orm单表查询、orm多表查询、聚合查询、分组查询、F查询、 Q查询、事务、Django ORM执行原生SQL)

    12.329 orm单表查询 import os if __name__ == '__main__': # 指定当前py脚本需要加载的Django项目配置信息 os.environ.setdefaul ...

  5. 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 ...

  6. django -orm操作总结

    前言 Django框架功能齐全自带数据库操作功能,本文主要介绍Django的ORM框架 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MyS ...

  7. Django ORM 查询管理器

    Django ORM 查询管理器 ORM 查询管理器 对于 ORM 定义: 对象关系映射, Object Relational Mapping, ORM, 是一种程序设计技术,用于实现面向对象编程语言 ...

  8. Django ORM那些相关操作

    一般操作 https://docs.djangoproject.com/en/1.11/ref/models/querysets/         官网文档 常用的操作 <1> all() ...

  9. django orm 及常用参数

    一些说明: 表myapp_person的名称是自动生成的,如果你要自定义表名,需要在model的Meta类中指定 db_table 参数,强烈建议使用小写表名,特别是使用MySQL作为后端数据库时. ...

随机推荐

  1. js合并.css合并工具

    http://www.neoease.com/css-javascript-combo-tool/ http://www.neoease.com/minimize-javascript-files-u ...

  2. 如何把JavaScript数组中指定的一个元素移动到第一位

    目的:通过LocalStrorage实现存储搜索历史--结合store.js实现 代码如下: function addSearchHistory(key,value) { var oldArr = s ...

  3. spring定时任务详解(@Scheduled注解)多线程讲解

    (一)在xml里加入task的命名空间 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns ...

  4. NetBpm 安装篇(1)

    尊重别人劳动成果 转载注明出处:http://www.cnblogs.com/anbylau2130/p/3875718.html 官方主页 http://www.netbpm.org/docs/in ...

  5. 安装eclipse,配置tomcat

    1.去官网(https://www.eclipse.org/downloads/download.php?file=/oomph/epp/oxygen/R/eclipse-inst-win64.exe ...

  6. 接口测试之JMeter初探

    1.JMeter安装配置 )登录 http://jmeter.apache.org/download_jmeter.cgi ,下载与自己的平台相对应文件: )安装JDK(.6以上),配置环境变量JAV ...

  7. mysql类型对应Java的类型

    整型 JDBCtinyint         java.lang.Integersmallintmediumint       java.lang.Longint          bigint    ...

  8. 使用 Splash

    Splash 简介与安装 Splash Lua 脚本 Splash 对象属性 Splash 对象方法 Splash API 调用 Splash 负载均衡

  9. N76E003系统时钟

    系统时钟源N76E003共有3种系统时钟源,包括: 内部高速/低速振荡器.外部输入时钟.它们每一个都可以作为N76E003的系统时钟源.开启不同的时钟源可能会影响到多功能引脚P3.0/XIN .内部振 ...

  10. AutoLayout深入浅出五[UITableView动态高度]

    本文转载至 http://grayluo.github.io//WeiFocusIo/autolayout/2015/02/01/autolayout5/ 我们经常会遇到UITableViewCell ...