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