diff --git a/docs/topics/db/aggregation.txt b/docs/topics/db/aggregation.txt index 14c0cf2433..e33a2f12a0 100644 --- a/docs/topics/db/aggregation.txt +++ b/docs/topics/db/aggregation.txt @@ -184,6 +184,17 @@ of the ``annotate()`` clause is a ``QuerySet``; this ``QuerySet`` can be modified using any other ``QuerySet`` operation, including ``filter()``, ``order_by()``, or even additional calls to ``annotate()``. +.. admonition:: If in doubt, inspect the SQL query! + + In order to understand what happens in your query, consider inspecting the + ``query`` property of your ``QuerySet``. + + For instance, combining multiple aggregations with ``annotate()`` will + yield the wrong results, as `multiple tables are the cross joined`_, + resulting in duplicate row aggregations. + +.. _multiple tables are the cross joined: https://code.djangoproject.com/ticket/10060 + Joins and aggregates ====================