6.0 Django常用查询方法

def search_users(request):
    #查询的几种方法
    rs = User.objects.first() #查询第一个元素
    print(rs)
    rd = User.objects.last() #查询最后一个元素
    print(rd)
    rf = User.objects.exclude(name='Riven') #排除 name = Riven 的记录 Queryset 格式
    print(rf)
    re = User.objects.get(name='lingling') #获取一个记录对象,get 返回的对象具有唯一性质,如果符合条件的对象有多个,则get报错
    print(re)
    #对结果进行排序order_by:
    rr = User.objects.order_by('-age')# 逆向排序就是在条件的前面加一个负号
    print(rr)
    #多项排序
    ro = User.objects.order_by('age','id')
    print('多项排序的结果为:%s'%ro)
    #获取当前查询到数据的总数:
    rp = User.objects.count()
    print('查询数据总数为:%d'%rp)
    #将Queryset中的Model转化为字典:
    rw = User.objects.all().values()
    print('字典的内容为:%s'%rw)

    # 常用的查询条件
    ree = User.objects.filter(name__exact='gaohuiqi')
    print('exact相当于 = 查询结果是:%s'%ree) #name_iexact会忽略大小写

    res = User.objects.filter(name__iexact= 'gaohuiqi')
    print('iexact的查询结果会精确查询,结果是:%s'%res)

    red = User.objects.filter(name__icontains='Riven') #name_icontains会忽略大小写
    print('与icontains唯一的不同是忽略大小写!%s'%red)

    sta = User.objects.filter(name__istartswith='R')
    print('istartswith-startswith%s'%sta) #带i开头的都忽略大小写 同理 iendswith endswith以什么结尾输出

    #in 成员所属:
    rop = User.objects.filter(age__in = [16,19])
    print('in是查询出所属的区间:%s'%rop)
    #gt 大于:
    #gte 大于等于:
    #lt 小于;
    #lte  小于等于: age_lte = 20
    #range 区间 age_range = (18,20)
    #isnull 判断是否为空:
    rss = User.objects.filter(city__isnull= True)
    print('判断是否为空结果%s'%rss)
    return HttpResponse(' search successful!')
    #常见的字段映射关系:
        # int   IntegetField
        # varchar  charField
        # longtext  TextField
        # date     DateField
        # datetime     DateTimeField
    #Field 常用参数:
        # primary_key: 指定是否为主键。
        # unique: 指定是否唯一。
        # null: 指定是否为空,默认为False。
        # blank: 等于True时form表单验证时可以为空,默认为False。
        # default: 设置默认值。
        # DateField.auto_now: 每次修改都会将当前时间更新进去,只有调用Model.save()
        # 方法才会调用,QuerySet.update方法将不会调用。这个参数只是Date和DateTime以及Time类才有的。
        # DateField.auto_now_add: 第一次添加进去,都会将当前时间设置进去。以后修改,不会修改这个值

你可能感兴趣的:(6.0 Django常用查询方法)