day70

练习题:http://www.cnblogs.com/liwenzhou/articles/8337352.html

 import os
import sys
if __name__ == '__main__':
# 加载Django项目的配置信息 这一句就在manage.py文件中
os.environ.setdefault("DJANGO_SETTINGS_MODULE",
"ormday70.settings")
# 导入Django,并启动Django项目
import django
django.setup()
from app01 import models # 查找所有书名里包含花的书
ret = models.Book.objects.filter(title__contains="花")
print(ret)
# 查找所有出版日期是2018年的书
ret = models.Book.objects.filter(publish_date__year=2019)
print(ret)
# 查找价格大于40元的书
ret = models.Book.objects.filter(price__gt=40)
print(ret)
# 找到在沙河的出版社
ret = models.Publisher.objects.filter(city="下沙")
print(ret) # distinct
# 查所有书关联的出版社
ret = models.Book.objects.all().values_list("publisher__name")
print("每本书的出版社分别是:", ret)
print("去重:", ret.distinct()) # 对QuerySet去重 # 将所有的书按照价格倒叙排序
ret = models.Book.objects.all().order_by("price").reverse()
print(ret)
# 支持负号表示倒序
ret = models.Book.objects.all().order_by("-price")
print(ret) # 查询书名是繁花的书的出版社的city #跨表到publisher
ret = models.Book.objects.filter(title="繁花").values("publisher__city")
print(ret) # 查询书名是沙河异闻录的书的作者的爱好(夸两张表) #跨到Author再到detail字段
ret = models.Book.objects.filter(title="繁花").values("authors__detail__hobby")
print(ret)

练习:

结果:

<QuerySet [<Book: 繁花>]>
<QuerySet []>
<QuerySet [<Book: 繁花>, <Book: linux>, <Book: Python>]>
<QuerySet [<Publisher: 下沙出版社>]>
每本书的出版社分别是: <QuerySet [('下沙出版社',), ('下沙出版社',), ('马涧出版社',), ('兰溪出版社',)]>
去重: <QuerySet [('下沙出版社',), ('马涧出版社',), ('兰溪出版社',)]>
<QuerySet [<Book: Python>, <Book: 繁花>, <Book: linux>, <Book: C++>]>
<QuerySet [<Book: Python>, <Book: 繁花>, <Book: linux>, <Book: C++>]>
<QuerySet [{'publisher__city': '下沙'}]>
<QuerySet [{'authors__detail__hobby': '台球'}, {'authors__detail__hobby': '篮球'}]> Process finished with exit code 0

Django(ORM查询联系题)的更多相关文章

  1. Django ORM 查询管理器

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

  2. django orm查询和后端缓存的使用

    django orm 查询 1 字段后(db_column='age') (null=True)#表示数据库里面的该字段数据可以为空 (blank=True)#表示前端表单提交的时候可以为空 (db_ ...

  3. Django 源码小剖: Django ORM 查询管理器

    ORM 查询管理器 对于 ORM 定义: 对象关系映射, Object Relational Mapping, ORM, 是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换.从 ...

  4. Django(ORM查询2)

    day70 ORM训练专题 :http://www.cnblogs.com/liwenzhou/articles/8337352.html 内容回顾     1. ORM         1. ORM ...

  5. django -- ORM查询

    前戏 在我们之前操作ORM中,你也许是启动Django项目,通过地址访问固定的函数,或者在pycharm里的python console里执行,第一种比较麻烦,而且每次都要启动项目,写路由,第二种虽然 ...

  6. Python - Django - ORM 查询方法

    models.py: from django.db import models class Human(models.Model): id = models.AutoField(primary_key ...

  7. Django(ORM查询1)

    day69 参考:http://www.cnblogs.com/liwenzhou/p/8660826.html 在Python脚本中调用Django环境 orm1.py import os if _ ...

  8. Django ORM 查询

    过滤器 过滤器 作用 all() 查出所有行 filter() 可以添加过滤条件 order_by() 查出所有数据,如果有参数则按参数排序,参数是字符串 ,如:"-username&quo ...

  9. Django orm查询操作

    基于双下划线查询切记!!!!正向查询按字段,反向查询按表名的小写 正向:在Book表里设置关联Obj表,Book------>Obj就是正向查询 反向:在Book表里设置关联Obj表,Obj-- ...

随机推荐

  1. Unity2017新功能Sprite Atlas详解

    Sprite Atlas(精灵图集)Sprite Atlas 针对现有的图集打包系统Sprite Packer在性能和易用性上的不足,进行了全面改善.除此之外,相比Sprite Packer,Spri ...

  2. 58.UIScrollView XIB拖拽约束

    第一步: 拖拽UIScrollView 到控制器上 ,给scrollView 添加约束 ,这时是正常的 第二步:scrollview上添加UIview ,(注意:这个 ScrollView就是根据这个 ...

  3. 42.OC中instancetype与id的区别

    区别: 在ARC(Auto Reference Count)环境下: instancetype用来在编译期确定实例的类型,而使用id的话,编译器不检查类型,运行时检查类型 在MRC(Manual Re ...

  4. php使用include报错require_once(../include.php): failed to open stream: No such file or directo

    引入路径的问题,建议加入include_once $_SERVER['DOCUMENT_ROOT']."/include.php";意思是获取网站根目中的include.php 截 ...

  5. asp.net core跨平台开发从入门到实战文摘

    第1章 .NET Core 第2章 dotnet命令 第3章 VS Code安装及介绍 第4章 VS2015开发.NET Core 第5章 ASP.NET Core 第6章 EF Core 第7章 A ...

  6. Maven进行install的时候报错,COMPILATION ERROR : Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.13:test (default-test) on project cmu: There are test failures.

    maven进行install的时候,test类里面报错: COMPILATION ERROR : [INFO] -------------------------------------------- ...

  7. i2c总线,核心,驱动详解

    Linux I2C驱动分析(一)----I2C架构和总线驱动 一.I2C总线原理 I2C是一种常用的串行总线,由串行数据线SDA 和串线时钟线SCL组成.I2C是一种多主机控制总线,它和USB总线不同 ...

  8. Typecho 插件开发基础

    <?php /** * 标题 插件说明 * * @package 添加标题 * @author Fan * @version 1.0.0 * @link http://cnblogs.com/f ...

  9. 微信小程序与Vue js数据渲染对比

    //小程序 Page({ data: { items: [] }, onLoad: function(options) { this.setData({ items: [1,2,3] }) } }) ...

  10. cyclone IV中DDR的一个报错{Too many output and bidirectional pins per VCCIO and ground pair in I/O bank 8 }

    Error (169224): Too many output and bidirectional pins per VCCIO and ground pair in I/O bank 8 when ...