双下划綫查询

    Booklist = models.Book.objects.all()
    # 练习1:  查询天野梢的所有漫画的名字与册数(一对多)
    book1=models.Author.objects.filter(C_name='天野梢').values('book__c_name','book__b_num')
    print(book1)
    #正向查询
    book2=models.Book.objects.filter(author__C_name='天野梢').values('c_name','b_num')
    print(book2)
    # 练习2: 查询治愈类的所有书籍的名字以及作者的姓名(多对多)
    book3=models.Type.objects.filter(name='治愈').values('book__c_name','book__author__C_name')
    print(book3)
    # 练习3: 地址为京都的作者出版过的所有书籍名称以及作品类型和改编类型
    book4=models.Book.objects.filter(author__author0__birthplace='东京都').values('c_name','type_id__name','adapt__a_type')
    print(book4)
    from django.db.models import Avg,Sum,Max,Min,Count
    # 计算所有图书的总册数
    count=models.Book.objects.aggregate(Sum('b_num'),Avg('b_num'),Min('b_num'))
    print(count)
    # 统计每一本书的作者个数
    list=models.Author.objects.annotate(count=Count('book'))
    for i in list:
        print(i.C_name,i.count)
双下划綫查询

 

posted @ 2017-10-31 16:32  TAMAYURA  阅读(248)  评论(0编辑  收藏  举报