From 57aa615c65e0eb2a7725219f47e3f84ba029216a Mon Sep 17 00:00:00 2001 From: Sietros <33125382+sietr0s@users.noreply.github.com> Date: Tue, 24 Jun 2025 18:29:09 +0300 Subject: [PATCH 1/3] Added m2m related table alias --- tortoise/query_utils.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tortoise/query_utils.py b/tortoise/query_utils.py index efaab4989..6c63db38c 100644 --- a/tortoise/query_utils.py +++ b/tortoise/query_utils.py @@ -37,6 +37,7 @@ def get_joins_for_related_field( related_table: Table = related_field.related_model._meta.basetable if isinstance(related_field, ManyToManyFieldInstance): through_table = Table(related_field.through) + related_table = related_table.as_(f"{table.get_table_name()}__{related_field_name}") required_joins.append( ( through_table, From 26c2026dcd42cbe258d3a56a06455c8fba2006a4 Mon Sep 17 00:00:00 2001 From: Sietros <33125382+sietr0s@users.noreply.github.com> Date: Thu, 26 Jun 2025 10:43:32 +0300 Subject: [PATCH 2/3] Update query_utils.py Fix problems alias --- tortoise/query_utils.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tortoise/query_utils.py b/tortoise/query_utils.py index 6c63db38c..c53da2016 100644 --- a/tortoise/query_utils.py +++ b/tortoise/query_utils.py @@ -125,6 +125,8 @@ def resolve_nested_field( related_table = related_table.as_( f"{table.get_table_name()}__{iter_field.model_field_name}" ) + if isinstance(related_field, ManyToManyFieldInstance): + related_table = related_table.as_(f"{table.get_table_name()}__{iter_field.model_field_name}") table = related_table last_field = fields[-1] @@ -142,6 +144,10 @@ def resolve_nested_field( related_table = related_table.as_( f"{table.get_table_name()}__{related_field.model_field_name}" ) + if isinstance(related_field, ManyToManyFieldInstance): + related_table = related_table.as_( + f"{table.get_table_name()}__{related_field.model_field_name}" + ) term = related_table[related_field_meta.db_pk_column] else: From 0f9c85d900f9cf1178d25307b137b3136b54607e Mon Sep 17 00:00:00 2001 From: sietr0s Date: Thu, 26 Jun 2025 18:07:58 +0300 Subject: [PATCH 3/3] Ruff fix --- tortoise/query_utils.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tortoise/query_utils.py b/tortoise/query_utils.py index c53da2016..6adda664d 100644 --- a/tortoise/query_utils.py +++ b/tortoise/query_utils.py @@ -126,7 +126,9 @@ def resolve_nested_field( f"{table.get_table_name()}__{iter_field.model_field_name}" ) if isinstance(related_field, ManyToManyFieldInstance): - related_table = related_table.as_(f"{table.get_table_name()}__{iter_field.model_field_name}") + related_table = related_table.as_( + f"{table.get_table_name()}__{iter_field.model_field_name}" + ) table = related_table last_field = fields[-1]