目录 一.orm补充查询 聚合查询 1-1 分组查询 1-2 F与Q查询 1-3 二. 字段及其参数 常用字段 AutoField IntegerField CharField DateField DateTimeField 字段集合 字段参数 null unique db_index default DateField和DateTimeField auto_now_add auto_now 关系字段 to to_field on_delete db_constraint 一.orm补充查询 聚…
django之跨表查询及添加记录 一:创建表 书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系(many-to-many);     一本书只应该由一个出版商出版,所以出版商和书籍是一对多关联关系(one-to-many). 创建一对一的关系:OneToOne("要绑定关系的表名") 创建一对多的关系:ForeignKey("要绑定关系的表名") 创建多对多的关系:ManyToMany(&qu…
一.聚合查询 需要导入模块:from django.db.models import Max, Min, Sum, Count, Avg 关键语法:aggregate(聚合结果别名 = 聚合函数(参数)) 查询结果:使用聚合函数,从每一个组中获取结果:字典 注意点: 1 聚合函数必须在分组之后才能使用 2 没有分组,即默认整体就是一组 3 查询结果为 普通字典 """ 聚合查询通常情况下都是配合分组一起使用的 只要是跟数据库相关的模块 基本上都在 django.db.mode…
一.创建表 创建四个表:书籍,出版社,作者,作者详细信息 四个表之间关系:书籍和作者多对多,作者和作者详细信息一对一,出版社和书籍一对多 创建一对一的关系:OneToOne("要绑定关系的表名") 创建一对多的关系:ForeignKey("要绑定关系的表名") 创建多对多的关系:ManyToMany("要绑定关系的表名")  会自动创建第三张表 创建表 class Book(models.Model): nid = models.AutoFiel…
一.外键自关联(一对多) 1.建表 # 评论表 class Comment(models.Model): id = models.AutoField(primary_key=True) content = models.CharField(max_length=255) push_time = models.DateTimeField(auto_now_add=True) # 父评论:自关联,一个评论可以没有父评论所以null=True pcomment = models.ForeignKey(…
聚合查询 聚合对查询的结果进行一步的计算加工. aggregate()是QuerySet 的一个终止子句 ,他的作用是,返回一个包含一些键值对的字典.键的名称是聚合值的标识符,值是计算出来的聚合值.键的名称是按照字段和聚合函数的名称自动生成出来的. 用到的内置函数: from django.db.models import Avg, Sum, Max, Min, Count [示例] # 查询价格最高的书和价格最低的书 ret = models.Book.objects.all().aggreg…
from django.db.models import Q 查询书籍名称是python入门或者价是555.55的书 book_queryset = models.Book.objects.filter(Q('title'='python入门')|Q('price'=555.55)) print(book_queryset) Q查询进阶用法 用Q产生对象 然后再使用 q = Q() q.connector('or') 添加查询条件 title__icontains为查询条件,同其他查询方式的写法…
Django 08 Django模型基础3(关系表的数据操作.表关联对象的访问.多表查询.聚合.分组.F.Q查询) 一.关系表的数据操作 #为了能方便学习,我们进入项目的idle中去执行我们的操作,通过python manage.py shell 就能进入当前目录下的IDLE,类似于数据库中的python操作 --- import os #导入os ---os.getcwd() #获取当前路径 '/home/pyvip/TK18_07/py_course/hello_django1' ---fr…
一.聚合查询 需要导入模块:from django.db.models import Max, Min, Sum, Count, Avg 关键语法:aggregate(聚合结果别名 = 聚合函数(参数)) 查询结果:使用聚合函数,从每一个组中获取结果:字典 注意点: 1 聚合函数必须在分组之后才能使用 2 没有分组,即默认整体就是一组 3 查询结果为 普通字典 """ 聚合查询通常情况下都是配合分组一起使用的 只要是跟数据库相关的模块 基本上都在 django.db.mode…
什么是聚合查询,就是使用聚合函数做计算 from django.db.models import Count,Avg,Max,Min   #聚合函数要从模块中导入 from django.db.models import F,Q   #与或非得 查询需要从模块倒入F和Q 聚合查询 需求 计算所有书的价格from django.db.models import Count,Avg,Max,Min,Sum #聚合函数要从模块中导入ret = models.Book.objects.all().agg…