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

时间:2025-02-23 19:12:19
返回查询结果集
all()
# 获取所有数据,对应SQL:select * from User
()


filter(**kwargs) 返回QuerySet包含与给定查找参数匹配的新查询集。
#等价sql:select * from User
()
#等价sql:select * from User where uname = 'admin'
(uname='admin')
#等级sql:select * from User where uid > 1 and type = 2
(uid__gt=1,type=2)
#链式调⽤,等价于(uid__gt=1,type=2)
(uid__gt=1).filter(type=2)


exclude(**kwargs)
# 不匹配,对应SQL:select * from User where name != 'admin'
(name='admin')



order_by(*fields)
参数是字段名,可以有多个字段名,默认是升序。
如果要按某个字段降序,在字段名前加'-': "-uid"表示按uid降序排列
#按uid升序排列 等价于 order by uid
 ().order_by('uid')
 #按uid降序排列 等价于 order by uid desc
 .order_by('-uid')
 #多列排序 等价于 order by password,uid desc
 .order_by('password','-uid')


values()
#返回所有字段
()
#返回数据:
[{'uid': 2, 'uname': '⼩甜甜', 'password':
'59f2443a4317918ce29ad28a14e1bdb7'type': '普通⽤户', 'regtime':
None, 'ip': None, 'allowed': '允许登录', 'email': None, None},...]
#返回指定字段
('uname','password')
[{'uname': '⼩甜甜', 'password':
'59f2443a4317918ce29ad28a14e1bdb7'},...]


reverse()
.order_by('id').reverse() 降序
.order_by('-id').reverse() 升序


distinct()去重
('password').distinct()

 

相关文章