diff options
| author | Benjamin Bach <benjaoming@gmail.com> | 2014-12-01 00:02:43 +0100 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2014-12-03 19:19:41 -0500 |
| commit | a87ade7e30c80de93ec7ad8335d8714b494a58fb (patch) | |
| tree | ca2563d1daed18d973439edd38622aea71ee9d05 | |
| parent | 51dff0f588525ff3a0658064d6442a9228fed983 (diff) | |
[1.6.x] Documented a current limitation of multiple table annotation; refs #10060.
Backport of 4b23a6c7a9232cc07ec95fe98be17efbd4449822 from master
| -rw-r--r-- | docs/topics/db/aggregation.txt | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/docs/topics/db/aggregation.txt b/docs/topics/db/aggregation.txt index 1024d6b0c2..90735c31a4 100644 --- a/docs/topics/db/aggregation.txt +++ b/docs/topics/db/aggregation.txt @@ -179,6 +179,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 ==================== |
