1 | >>> Cat.objects.annotate(nb_friends=models.Count('dog_friends'))
|
---|
2 | Traceback (most recent call last):
|
---|
3 | File "<console>", line 1, in <module>
|
---|
4 | File "/data/.virtualenvs/bugproxy/local/lib/python2.7/site-packages/django/db/models/manager.py", line 122, in manager_method
|
---|
5 | return getattr(self.get_queryset(), name)(*args, **kwargs)
|
---|
6 | File "/data/.virtualenvs/bugproxy/local/lib/python2.7/site-packages/django/db/models/query.py", line 908, in annotate
|
---|
7 | clone.query.add_annotation(annotation, alias, is_summary=False)
|
---|
8 | File "/data/.virtualenvs/bugproxy/local/lib/python2.7/site-packages/django/db/models/sql/query.py", line 987, in add_annotation
|
---|
9 | summarize=is_summary)
|
---|
10 | File "/data/.virtualenvs/bugproxy/local/lib/python2.7/site-packages/django/db/models/aggregates.py", line 19, in resolve_expression
|
---|
11 | c = super(Aggregate, self).resolve_expression(query, allow_joins, reuse, summarize)
|
---|
12 | File "/data/.virtualenvs/bugproxy/local/lib/python2.7/site-packages/django/db/models/expressions.py", line 509, in resolve_expression
|
---|
13 | c.source_expressions[pos] = arg.resolve_expression(query, allow_joins, reuse, summarize, for_save)
|
---|
14 | File "/data/.virtualenvs/bugproxy/local/lib/python2.7/site-packages/django/db/models/expressions.py", line 466, in resolve_expression
|
---|
15 | return query.resolve_ref(self.name, allow_joins, reuse, summarize)
|
---|
16 | File "/data/.virtualenvs/bugproxy/local/lib/python2.7/site-packages/django/db/models/sql/query.py", line 1464, in resolve_ref
|
---|
17 | self.get_initial_alias(), reuse)
|
---|
18 | File "/data/.virtualenvs/bugproxy/local/lib/python2.7/site-packages/django/db/models/sql/query.py", line 1405, in setup_joins
|
---|
19 | names, opts, allow_many, fail_on_missing=True)
|
---|
20 | File "/data/.virtualenvs/bugproxy/local/lib/python2.7/site-packages/django/db/models/sql/query.py", line 1330, in names_to_path
|
---|
21 | "Choices are: %s" % (name, ", ".join(available)))
|
---|
22 | FieldError: Cannot resolve keyword 'dog_friends' into field. Choices are: id, name
|
---|
23 | >>> Mammal.objects.annotate(nb_friends=models.Count('dog_friends'))
|
---|
24 | [<Mammal: Mammal object>, <Mammal: Mammal object>]
|
---|