Skip to content

Commit a34114e

Browse files
committed
aggregation_regress edits
1 parent 680854e commit a34114e

File tree

2 files changed

+16
-7
lines changed

2 files changed

+16
-7
lines changed

tests/aggregation_regress/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class Publisher(models.Model):
1919
class ItemTag(models.Model):
2020
tag = models.CharField(max_length=100)
2121
content_type = models.ForeignKey(ContentType, models.CASCADE)
22-
object_id = models.PositiveIntegerField()
22+
object_id = models.CharField(max_length=24)
2323
content_object = GenericForeignKey("content_type", "object_id")
2424

2525

tests/aggregation_regress/tests.py

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
from django.contrib.contenttypes.models import ContentType
88
from django.core.exceptions import FieldError
9-
from django.db import connection
109
from django.db.models import (
1110
Aggregate,
1211
Avg,
@@ -184,7 +183,7 @@ def test_annotation_with_value(self):
184183
)
185184
.annotate(sum_discount=Sum("discount_price"))
186185
)
187-
with self.assertNumQueries(1) as ctx:
186+
with self.assertNumQueries(1):
188187
self.assertSequenceEqual(
189188
values,
190189
[
@@ -194,8 +193,8 @@ def test_annotation_with_value(self):
194193
}
195194
],
196195
)
197-
if connection.features.allows_group_by_select_index:
198-
self.assertIn("GROUP BY 1", ctx[0]["sql"])
196+
# if connection.features.allows_group_by_select_index:
197+
# self.assertIn("GROUP BY 1", ctx[0]["sql"])
199198

200199
def test_aggregates_in_where_clause(self):
201200
"""
@@ -829,7 +828,7 @@ def test_empty(self):
829828
],
830829
)
831830

832-
def test_more_more(self):
831+
def test_more_more1(self):
833832
# Regression for #10113 - Fields mentioned in order_by() must be
834833
# included in the GROUP BY. This only becomes a problem when the
835834
# order_by introduces a new join.
@@ -849,6 +848,7 @@ def test_more_more(self):
849848
lambda b: b.name,
850849
)
851850

851+
def test_more_more2(self):
852852
# Regression for #10127 - Empty select_related() works with annotate
853853
qs = (
854854
Book.objects.filter(rating__lt=4.5)
@@ -877,6 +877,7 @@ def test_more_more(self):
877877
lambda b: (b.name, b.authors__age__avg, b.publisher.name, b.contact.name),
878878
)
879879

880+
def test_more_more3(self):
880881
# Regression for #10132 - If the values() clause only mentioned extra
881882
# (select=) columns, those columns are used for grouping
882883
qs = (
@@ -911,6 +912,7 @@ def test_more_more(self):
911912
],
912913
)
913914

915+
def test_more_more4(self):
914916
# Regression for #10182 - Queries with aggregate calls are correctly
915917
# realiased when used in a subquery
916918
ids = (
@@ -927,6 +929,7 @@ def test_more_more(self):
927929
lambda b: b.name,
928930
)
929931

932+
def test_more_more5(self):
930933
# Regression for #15709 - Ensure each group_by field only exists once
931934
# per query
932935
qstr = str(
@@ -1023,7 +1026,7 @@ def test_pickle(self):
10231026
query,
10241027
)
10251028

1026-
def test_more_more_more(self):
1029+
def test_more_more_more1(self):
10271030
# Regression for #10199 - Aggregate calls clone the original query so
10281031
# the original query can still be used
10291032
books = Book.objects.all()
@@ -1042,6 +1045,7 @@ def test_more_more_more(self):
10421045
lambda b: b.name,
10431046
)
10441047

1048+
def test_more_more_more2(self):
10451049
# Regression for #10248 - Annotations work with dates()
10461050
qs = (
10471051
Book.objects.annotate(num_authors=Count("authors"))
@@ -1056,6 +1060,7 @@ def test_more_more_more(self):
10561060
],
10571061
)
10581062

1063+
def test_more_more_more3(self):
10591064
# Regression for #10290 - extra selects with parameters can be used for
10601065
# grouping.
10611066
qs = (
@@ -1068,6 +1073,7 @@ def test_more_more_more(self):
10681073
qs, [150, 175, 224, 264, 473, 566], lambda b: int(b["sheets"])
10691074
)
10701075

1076+
def test_more_more_more4(self):
10711077
# Regression for 10425 - annotations don't get in the way of a count()
10721078
# clause
10731079
self.assertEqual(
@@ -1077,6 +1083,7 @@ def test_more_more_more(self):
10771083
Book.objects.annotate(Count("publisher")).values("publisher").count(), 6
10781084
)
10791085

1086+
def test_more_more_more5(self):
10801087
# Note: intentionally no order_by(), that case needs tests, too.
10811088
publishers = Publisher.objects.filter(id__in=[self.p1.id, self.p2.id])
10821089
self.assertEqual(sorted(p.name for p in publishers), ["Apress", "Sams"])
@@ -1100,6 +1107,7 @@ def test_more_more_more(self):
11001107
)
11011108
self.assertEqual(sorted(p.name for p in publishers), ["Apress", "Sams"])
11021109

1110+
def test_more_more_more6(self):
11031111
# Regression for 10666 - inherited fields work with annotations and
11041112
# aggregations
11051113
self.assertEqual(
@@ -1152,6 +1160,7 @@ def test_more_more_more(self):
11521160
],
11531161
)
11541162

1163+
def test_more_more_more7(self):
11551164
# Regression for #10766 - Shouldn't be able to reference an aggregate
11561165
# fields in an aggregate() call.
11571166
msg = "Cannot compute Avg('mean_age'): 'mean_age' is an aggregate"

0 commit comments

Comments
 (0)