Django ORM操作及进阶
一、惯例操作
1、必知必会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<1> all():