Django QuerySet API

何时对QuerySet求值:

  1. 迭代
  2. len()
  3. list()
  4. 序列化

返回查询集的方法

  1. filter
  2. all
  3. exclude
  4. annotate:Blog.objects.annotate(Count('entry')) 查询每个blog中有几个entry
  5. order_by
  6. reverse()反转
  7. distinct():去重
  8. values():返回一个ValuesQuerySet,一个QuerySet的子类,返回字典而不是一个实例对象
  9. values_list():迭代时返回一个元组;

不返回查询集的方法

  1. get()
  2. create();
  3. get_or_create();
  4. update_or_create();
  5. count();
  6. bulk_create():Entry.objects.bulk_create([Entry(headline="Django 1.0 Released"),Entry(headline="Django1.1 Announced"),注意,不调用save方法;
  7. in_bulk(id_list): 获取主键值列表,并返回将每个主键值映射到具有给定ID的对象的实例的字典。
  8. iterator():通过查询,返回一个迭代器。不缓存,适用于大量访问一次的数据。
  9. aggregate():聚合查询,根据聚合值返回一个字典。
  10. exists():if some_queryset.filter(pk=entry.pk).exists():

你可能感兴趣的:(Django QuerySet API)