Skip to content

Commit b989e42

Browse files
author
savynorem
committed
added call to get query, adding tests
1 parent 2df1beb commit b989e42

File tree

2 files changed

+364
-8
lines changed

2 files changed

+364
-8
lines changed

aredis_om/model/model.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -508,8 +508,6 @@ def query(self):
508508
if self._query.startswith("(") or self._query == "*"
509509
else f"({self._query})"
510510
) + f"=>[{self.knn}]"
511-
if self.return_fields:
512-
self._query += f" RETURN {','.join(self.return_fields)}"
513511
return self._query
514512

515513
def validate_return_fields(self, return_fields: List[str]):
@@ -888,7 +886,7 @@ def resolve_redisearch_query(cls, expression: ExpressionOrNegated) -> str:
888886

889887
return result
890888

891-
async def execute(self, exhaust_results=True, return_raw_result=False):
889+
async def execute(self, exhaust_results=True, return_raw_result=False, return_query_args=False):
892890
args: List[Union[str, bytes]] = [
893891
"FT.SEARCH",
894892
self.model.Meta.index_name,
@@ -912,6 +910,9 @@ async def execute(self, exhaust_results=True, return_raw_result=False):
912910

913911
if self.nocontent:
914912
args.append("NOCONTENT")
913+
914+
if return_query_args:
915+
return self.model.Meta.index_name, args
915916

916917
# Reset the cache if we're executing from offset 0.
917918
if self.offset == 0:
@@ -945,6 +946,10 @@ async def execute(self, exhaust_results=True, return_raw_result=False):
945946
break
946947
self._model_cache += _results
947948
return self._model_cache
949+
950+
async def get_query(self):
951+
query = self.copy()
952+
return await query.execute(return_query_args=True)
948953

949954
async def first(self):
950955
query = self.copy(offset=0, limit=1, sort_fields=self.sort_fields)
@@ -973,11 +978,6 @@ def sort_by(self, *fields: str):
973978
if not fields:
974979
return self
975980
return self.copy(sort_fields=list(fields))
976-
977-
def return_fields(self, *fields: str):
978-
if not fields:
979-
return self
980-
return self.copy(return_fields=list(fields))
981981

982982
async def update(self, use_transaction=True, **field_values):
983983
"""

0 commit comments

Comments
 (0)