前提(初始表数据)
针对的是手动创建的多对多关系表,因为是针对第三张关系表的操作
视图中需要导入聚合函数
book_manual表
author_manual表
book_manual_author_manual表 (关系表)
django_study.app01.views.py:新建一个more_to_more_select_jh_db视图函数
from django.shortcuts import render # 导入显示页面的模块
from django.http import HttpResponse # 导入显示字符串的模块
from django.db.models.aggregates import Count,Avg,Sum,Max,Min # 导入聚合函数
from .models import * # 导入操作的模型类
import datetime
# Create your views here.
def more_to_more_select_jh_db(request):
return HttpResponse("查询成功")
django_study.django_study.urls:绑定url与视图函数
url(r'^more_to_more_select_jh_db/$', more_to_more_select_jh_db)
查询操作:以平均值为例
def more_to_more_select_jh_db(request):
# book_manual表中所有书籍均价
obj = BookManual.objects.all().aggregate(Avg("price"))
# jun03这个作者的所有书籍均价
obj1 = BookManual.objects.filter(bookmanual_authormanual__author__name="jun03").aggregate(Avg("price"))
return HttpResponse("查询结果:%s,%s"%(obj, obj1))
运行状态访问查看