mirror of
https://github.com/django/django.git
synced 2025-04-25 17:54:37 +00:00
Refs #26602 -- Added tests for aggregating over a RawSQL() annotation.
Fixed in 3f32154f40a855afa063095e3d091ce6be21f2c5. Thanks Manav Agarwal for initial test.
This commit is contained in:
parent
1adc09064f
commit
b989d21336
@ -670,6 +670,18 @@ class BasicExpressionsTests(TestCase):
|
|||||||
# contain nested aggregates.
|
# contain nested aggregates.
|
||||||
self.assertNotIn('GROUP BY', sql)
|
self.assertNotIn('GROUP BY', sql)
|
||||||
|
|
||||||
|
@skipUnlessDBFeature('supports_over_clause')
|
||||||
|
def test_aggregate_rawsql_annotation(self):
|
||||||
|
with self.assertNumQueries(1) as ctx:
|
||||||
|
aggregate = Company.objects.annotate(
|
||||||
|
salary=RawSQL('SUM(num_chairs) OVER (ORDER BY num_employees)', []),
|
||||||
|
).aggregate(
|
||||||
|
count=Count('pk'),
|
||||||
|
)
|
||||||
|
self.assertEqual(aggregate, {'count': 3})
|
||||||
|
sql = ctx.captured_queries[0]['sql']
|
||||||
|
self.assertNotIn('GROUP BY', sql)
|
||||||
|
|
||||||
def test_explicit_output_field(self):
|
def test_explicit_output_field(self):
|
||||||
class FuncA(Func):
|
class FuncA(Func):
|
||||||
output_field = CharField()
|
output_field = CharField()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user