Skip to content

Commit 08707e6

Browse files
committed
Fix non empty initial query.
1 parent a92d9d7 commit 08707e6

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

django_mongodb/compiler.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -441,7 +441,11 @@ def project_field(column):
441441

442442
@cached_property
443443
def collection_name(self):
444-
base_table = next(v for v in self.query.alias_map.values() if isinstance(v, BaseTable))
444+
base_table = next(
445+
v
446+
for k, v in self.query.alias_map.items()
447+
if isinstance(v, BaseTable) and self.query.alias_refcount[k]
448+
)
445449
return base_table.table_alias or base_table.table_name
446450

447451
@cached_property

django_mongodb/expressions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,13 +95,13 @@ def query(self, compiler, connection):
9595
subquery_compiler.parent_collections = {compiler.collection_name} | compiler.parent_collections
9696
columns = subquery_compiler.get_columns()
9797
field_name, expr = columns[0]
98+
result_query = subquery_compiler.query_class(subquery_compiler)
9899
subquery = subquery_compiler.build_query(
99100
columns
100101
if subquery_compiler.query.annotations or not subquery_compiler.query.default_cols
101102
else None
102103
)
103104
table_output = f"__subquery{len(compiler.subqueries)}"
104-
result_query = compiler.query_class(compiler)
105105
pipeline = subquery.get_pipeline()
106106
# the result must be a list of values. Se we compress the output
107107
if not self.has_limit_one():

0 commit comments

Comments
 (0)