何时对QuerySet求值:
- 迭代
- len()
- list()
- 序列化
返回查询集的方法
- filter
- all
- exclude
- annotate:Blog.objects.annotate(Count('entry')) 查询每个blog中有几个entry
- order_by
- reverse()反转
- distinct():去重
- values():返回一个ValuesQuerySet,一个QuerySet的子类,返回字典而不是一个实例对象
- values_list():迭代时返回一个元组;
不返回查询集的方法
- get()
- create();
- get_or_create();
- update_or_create();
- count();
- bulk_create():Entry.objects.bulk_create([Entry(headline="Django 1.0 Released"),Entry(headline="Django1.1 Announced"),注意,不调用save方法;
- in_bulk(id_list): 获取主键值列表,并返回将每个主键值映射到具有给定ID的对象的实例的字典。
- iterator():通过查询,返回一个迭代器。不缓存,适用于大量访问一次的数据。
- aggregate():聚合查询,根据聚合值返回一个字典。
- exists():if some_queryset.filter(pk=entry.pk).exists():
网友评论