@@ -508,8 +508,6 @@ def query(self):
508
508
if self ._query .startswith ("(" ) or self ._query == "*"
509
509
else f"({ self ._query } )"
510
510
) + f"=>[{ self .knn } ]"
511
- if self .return_fields :
512
- self ._query += f" RETURN { ',' .join (self .return_fields )} "
513
511
return self ._query
514
512
515
513
def validate_return_fields (self , return_fields : List [str ]):
@@ -888,7 +886,7 @@ def resolve_redisearch_query(cls, expression: ExpressionOrNegated) -> str:
888
886
889
887
return result
890
888
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 ):
892
890
args : List [Union [str , bytes ]] = [
893
891
"FT.SEARCH" ,
894
892
self .model .Meta .index_name ,
@@ -912,6 +910,9 @@ async def execute(self, exhaust_results=True, return_raw_result=False):
912
910
913
911
if self .nocontent :
914
912
args .append ("NOCONTENT" )
913
+
914
+ if return_query_args :
915
+ return self .model .Meta .index_name , args
915
916
916
917
# Reset the cache if we're executing from offset 0.
917
918
if self .offset == 0 :
@@ -945,6 +946,10 @@ async def execute(self, exhaust_results=True, return_raw_result=False):
945
946
break
946
947
self ._model_cache += _results
947
948
return self ._model_cache
949
+
950
+ async def get_query (self ):
951
+ query = self .copy ()
952
+ return await query .execute (return_query_args = True )
948
953
949
954
async def first (self ):
950
955
query = self .copy (offset = 0 , limit = 1 , sort_fields = self .sort_fields )
@@ -973,11 +978,6 @@ def sort_by(self, *fields: str):
973
978
if not fields :
974
979
return self
975
980
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 ))
981
981
982
982
async def update (self , use_transaction = True , ** field_values ):
983
983
"""
0 commit comments