summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/expressions/tests.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/expressions/tests.py b/tests/expressions/tests.py
index ee3676e64a..df92dba432 100644
--- a/tests/expressions/tests.py
+++ b/tests/expressions/tests.py
@@ -534,6 +534,18 @@ class BasicExpressionsTests(TestCase):
outer = Company.objects.filter(pk__in=Subquery(inner.values('pk')))
self.assertFalse(outer.exists())
+ def test_subquery_filter_by_aggregate(self):
+ Number.objects.create(integer=1000, float=1.2)
+ Employee.objects.create(salary=1000)
+ qs = Number.objects.annotate(
+ min_valuable_count=Subquery(
+ Employee.objects.filter(
+ salary=OuterRef('integer'),
+ ).annotate(cnt=Count('salary')).filter(cnt__gt=0).values('cnt')[:1]
+ ),
+ )
+ self.assertEqual(qs.get().float, 1.2)
+
def test_explicit_output_field(self):
class FuncA(Func):
output_field = models.CharField()