|
@@ -274,6 +274,18 @@ class CaseExpressionTests(TestCase):
|
|
|
transform=attrgetter('integer', 'integer2')
|
|
|
)
|
|
|
|
|
|
+ def test_case_reuse(self):
|
|
|
+ SOME_CASE = Case(
|
|
|
+ When(pk=0, then=Value('0')),
|
|
|
+ default=Value('1'),
|
|
|
+ output_field=models.CharField(),
|
|
|
+ )
|
|
|
+ self.assertQuerysetEqual(
|
|
|
+ CaseTestModel.objects.annotate(somecase=SOME_CASE).order_by('pk'),
|
|
|
+ CaseTestModel.objects.annotate(somecase=SOME_CASE).order_by('pk').values_list('pk', 'somecase'),
|
|
|
+ lambda x: (x.pk, x.somecase)
|
|
|
+ )
|
|
|
+
|
|
|
def test_aggregate(self):
|
|
|
self.assertEqual(
|
|
|
CaseTestModel.objects.aggregate(
|