1.聚合和分组
b=Book.objects.aggregate(Avg('price')) 对数据的价格进行汇总并且求平均值 #查ye出过书的总价 b=Book.objects.filter(author__name='ye').aggregate(Sum('price'))
分组annotate
查询每个作者出的所有书的平均值
思路:将每个作者分为一组,然后对每组的书价格平均值
b=Book.objects.all.values('author__name').annotate(Avg('price')) annotate是进行分组 b=Book.objects.all().values('pub__name').annotate(Min('price')) 查询出版社出过的书的最小价格
F查询和Q查询
完成与或非查询
Q查询
给书籍价格加上10
b=Book.objects.all().update(price=F('price')+10) 用F可以直接进行操作
与或非查询
b=Book.objects.filter(Q(name='python') | Q(name='php')) 或操作 中间加管道符 非操作加 ~ 而且可以进行组合 A| ~b ===a或者非B