Skip to content

Commit 08f74ba

Browse files
prabhbirprabhbir
authored andcommitted
Fix GROUP BY alias in subquery generation and formatting issues
1 parent f660db0 commit 08f74ba

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

tests/test_group_by.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from tests.testmodels import Author, Book, Event, Team, Tournament
22
from tortoise.contrib import test
3+
from tortoise.expressions import Subquery
34
from tortoise.functions import Avg, Count, Sum, Upper
45

56

@@ -317,3 +318,16 @@ async def test_group_by_nested_column(self):
317318
async def test_group_by_id_with_nested_filter(self):
318319
ret = await Book.filter(author__name="author1").group_by("id").values_list("id")
319320
self.assertEqual(set(ret), {(book.id,) for book in self.books1})
321+
322+
async def test_subquery_group_by_no_alias(self):
323+
query = Author.annotate(
324+
book_name=Subquery(Book.all().group_by("name").order_by("name").limit(1).values("name"))
325+
)
326+
327+
sql = query.sql()
328+
329+
self.assertIn('GROUP BY "name"', sql)
330+
self.assertNotIn('GROUP BY "name" "', sql)
331+
332+
result = await query.values("name", "book_name")
333+
self.assertIsInstance(result, list)

tortoise/queryset.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1598,9 +1598,7 @@ def _resolve_group_bys(self, *field_names: str) -> list:
15981598
field=field,
15991599
forwarded_fields=forwarded_fields,
16001600
)
1601-
field = related_table[related_db_field].as_(
1602-
f"{related_table.get_table_name()}__{field_name}"
1603-
)
1601+
field = related_table[related_db_field]
16041602
group_bys.append(field)
16051603
return group_bys
16061604

0 commit comments

Comments
 (0)