publish = ForeignKey(Blog, related_name='bookList')
# 练习: 查询人民出版社出版过的全部书籍的名字与价格(一对多) # 反向查询 再也不按表名:book,而是related_name:bookList queryResult=Publish.objects .filter(name="人民出版社") .values_list("bookList__title","bookList__price")
from django.db.models import Count,Max,Min,Avg,Sum
ret=models.Book.objects.all().aggregate(aa=Avg('price'))数据库
F查询干什么用? 取出数据库中某个字段的值,而后进行运算
Q查询是干什么用的?表示出或 与 非 的状况,用的最多的是或的状况django
-约束性太强
-查询效率会变低
-db_constraint=False orm建立表的时候,外键就没了函数
-related_name:基于双下划线的跨表查询,修改反向查询的字段
-related_query_name:基于对象的跨表查询,修改反向查询字段
-聚合查询
-aggregate(聚合函数)
-分组查询:
'''
gruop by 谁就以谁作基表
filter在前,表示where条件
filter在后,表示havaing
values在前,表示group by的字段
values在后,表示取值
'''spa
F和Q查询
-F:取出数据库某个字段的值
Q:构造出与(&)或(|)非(~)得关系
图书管理系统:code