一般操作
常用的 13 个操作
- <1>
- all(): 查询所有结果
- <2>
- filter(**kwargs): 它包含了与所给筛选条件相匹配的对象
- <3>
- get(**kwargs): 返回与所给筛选条件相匹配的对象, 返回结果有且只有一个, 如果符合筛选条件的对象超过一个或者没有都会抛出错误.
- <4>
- exclude(**kwargs): 它包含了与所给筛选条件不匹配的对象
- <5>
- values(*field): 返回一个 ValueQuerySet-- 一个特殊的 QuerySet, 运行后得到的并不是一系列 model
- 的实例化对象, 而是一个可迭代的字典序列
- <6>
- values_list(*field): 它与 values()非常相似, 它返回的是一个元组序列, values 返回的是一个字典序列
- <7>
- order_by(*field): 对查询结果排序
- <8>
- reverse(): 对查询结果反向排序, 请注意 reverse()通常只能在具有已定义顺序的 QuerySet 上调用 (在 model
- 类的 Meta 中指定 ordering 或调用 order_by() 方法).
- <9>
- distinct(): 从返回结果中剔除重复纪录(如果你查询跨越多个表, 可能在计算 QuerySet 时得到重复的结果. 此时可以使用 distinct(),
- 注意只有在 PostgreSQL 中支持按字段去重.)
- <10>
- count(): 返回数据库中匹配查询 (QuerySet) 的对象数量.
- <11>
- first(): 返回第一条记录
- <12>
- last(): 返回最后一条记录
- <13>
- exists(): 如果 QuerySet 包含数据, 就返回 True, 否则返回 False
返回 QuerySet 对象的方法有
- all()
- filter()
- exclude()
- order_by()
- reverse()
- distinct()
特殊的 QuerySet
values() 返回一个可迭代的字典序列
values_list() 返回一个可迭代的元祖序列
返回具体的对象
- get()
- first()
- last()
返回布尔值
exists()
返回数字
count()
详情见 Django 官方文档
来源: http://www.bubuko.com/infodetail-3076049.html