diff options
author | Étienne Beaulé <beauleetienne0@gmail.com> | 2020-10-19 17:10:06 -0400 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2020-10-21 20:54:53 +0200 |
commit | 509d9da26fb92a8d566ec105ff40bb024803ceaa (patch) | |
tree | 0f3138173705775a0db082ee0df8101beda178bf /tests/aggregation | |
parent | 257f8495d6c93e30ab0f52af4c488d7344bcf112 (diff) | |
download | django-509d9da26fb92a8d566ec105ff40bb024803ceaa.tar.gz |
Fixed #26390 -- Disabled grouping by Random().
Thanks to Tzu-ping Chung for the tests.
Diffstat (limited to 'tests/aggregation')
-rw-r--r-- | tests/aggregation/tests.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/aggregation/tests.py b/tests/aggregation/tests.py index f8aeceb2d0..a759fd4d36 100644 --- a/tests/aggregation/tests.py +++ b/tests/aggregation/tests.py @@ -1315,3 +1315,18 @@ class AggregateTestCase(TestCase): # with self.assertNumQueries(1) as ctx: # self.assertSequenceEqual(books_qs, [book]) # self.assertEqual(ctx[0]['sql'].count('SELECT'), 2) + + def test_aggregation_random_ordering(self): + """Random() is not included in the GROUP BY when used for ordering.""" + authors = Author.objects.annotate(contact_count=Count('book')).order_by('?') + self.assertQuerysetEqual(authors, [ + ('Adrian Holovaty', 1), + ('Jacob Kaplan-Moss', 1), + ('Brad Dayley', 1), + ('James Bennett', 1), + ('Jeffrey Forcier', 1), + ('Paul Bissex', 1), + ('Wesley J. Chun', 1), + ('Stuart Russell', 1), + ('Peter Norvig', 2), + ], lambda a: (a.name, a.contact_count), ordered=False) |