13个查询API接口

    # exclude排除
    # 返回结果为queryset类型数据,通过objects控制器可以调用,queryset类型数据也能调用
    # obj_list = models.Book.objects.exclude(id=2)
    # obj_list = obj_list.filter(title='少年阿宾1')
    # obj_list = obj_list.all()
    # obj_list = models.Book.objects.exclude(id=2).filter(title__contains='少年').exclude(id=5)

    # order_by 排序
    # 返回结果为queryset类型数据,queryset类型数据可以调用这个方法
    # obj_list = models.Book.objects.all().order_by('-id')   #-id加个-号表示按照该字段降序排列, desc  asc
    # '''select * from app01_book order by id desc;'''
    # obj_list = models.Book.objects.all().order_by('price', '-id') #按照价格升序排列,价格相同的按照id降序排列

    # reverse()
    # 翻转必须在排序数据的基础上
    # 返回结果为queryset类型数据,queryset类型数据可以调用这个方法
    # obj_list = models.Book.objects.all().order_by('-id').reverse()

    # count
    # queryset类型数据可以调用这个方法,返回值为数字
    # obj_list = models.Book.objects.all().count()

    # first\last
    # queryset类型数据可以调用这个方法,返回值为模型类对象
    # obj_list = models.Book.objects.all().first()
    # obj_list = models.Book.objects.all()[0]
    # obj_list = models.Book.objects.all().last()

    # exists
    # 判断查询结果是有数据
    # queryset类型数据可以调用这个方法
    # obj_list = models.Book.objects.all().exists()  #判断是否有数据的效率高,只找一条记录 limit 1


    # values
    # 可以获取指定字段数据
    # objects可以调用, queryset也能调用,返回结果还是queryset,内容为一个个字典数据
    # obj_list = models.Book.objects.values('title', 'price')
    # obj_list = models.Book.objects.filter(id=5).values('title', 'price')

    # values_list
    # 可以获取指定字段数据,返回结果还是queryset,内容为一个个元组数据
    # obj_list = models.Book.objects.values_list('title', 'price')
    # obj_list = models.Book.objects.filter(id=5).values_list('title', 'price')

    # distinct 去重
    # 一般配合values和values_list来使用
    obj_list = models.Book.objects.values('price').distinct()

    print(obj_list)

 

posted @ 2021-04-17 10:50  urls  阅读(693)  评论(0编辑  收藏  举报