Django—模型—数据查询(返回查询结果集)

  • 返回查询结果集
    all()
    # 获取所有数据,对应SQL:select * from User
    User.objects.all()
    
    
    filter(**kwargs) 返回QuerySet包含与给定查找参数匹配的新查询集。
    #等价sql:select * from User
    User.objects.filter()
    #等价sql:select * from User where uname = 'admin'
    User.objects.filter(uname='admin')
    #等级sql:select * from User where uid > 1 and type = 2
    User.objects.filter(uid__gt=1,type=2)
    #链式调⽤,等价于User.objects.filter(uid__gt=1,type=2)
    User.objects.filter(uid__gt=1).filter(type=2)
    
    
    exclude(**kwargs)
    # 不匹配,对应SQL:select * from User where name != 'admin'
    User.objects.exclude(name='admin')
    
    
    
    order_by(*fields)
    参数是字段名,可以有多个字段名,默认是升序。
    如果要按某个字段降序,在字段名前加'-': "-uid"表示按uid降序排列
    #按uid升序排列 等价于 order by uid
     User.objects().order_by('uid')
     #按uid降序排列 等价于 order by uid desc
     User.objects.order_by('-uid')
     #多列排序 等价于 order by password,uid desc
     User.objects.order_by('password','-uid')
    
    
    values()
    #返回所有字段
    User.objects.values()
    #返回数据:
    [{'uid': 2, 'uname': '⼩甜甜', 'password':
    '59f2443a4317918ce29ad28a14e1bdb7'type': '普通⽤户', 'regtime':
    None, 'ip': None, 'allowed': '允许登录', 'email': None, None},...]
    #返回指定字段
    User.objects.values('uname','password')
    [{'uname': '⼩甜甜', 'password':
    '59f2443a4317918ce29ad28a14e1bdb7'},...]
    
    
    reverse()
    User.objects.order_by('id').reverse() 降序
    User.objects.order_by('-id').reverse() 升序
    
    
    distinct()去重
    User.objects.values('password').distinct()
发布了180 篇原创文章 · 获赞 6 · 访问量 2324

猜你喜欢

转载自blog.csdn.net/piduocheng0577/article/details/105009447