feat: Trying to replace db_query operations directly with qb
This commit is contained in:
parent
7a1d5e304c
commit
8cf6d42d17
1 changed files with 16 additions and 2 deletions
|
|
@ -89,6 +89,9 @@ class DatabaseQuery(object):
|
|||
ignore_ddl=False,
|
||||
parent_doctype=None,
|
||||
) -> List:
|
||||
from frappe.database.query import Query
|
||||
|
||||
self.query = Query()
|
||||
|
||||
if (
|
||||
not ignore_permissions
|
||||
|
|
@ -112,6 +115,8 @@ class DatabaseQuery(object):
|
|||
# if `filters` is a list of strings, its probably fields
|
||||
filters, fields = fields, filters
|
||||
|
||||
self.temp_filters, self.temp_fields = filters, fields
|
||||
|
||||
if fields:
|
||||
self.fields = fields
|
||||
else:
|
||||
|
|
@ -158,7 +163,7 @@ class DatabaseQuery(object):
|
|||
if not self.columns:
|
||||
return []
|
||||
|
||||
result = self.build_and_run()
|
||||
result = self.build_and_run(ignore_permissions=ignore_permissions)
|
||||
|
||||
if with_comment_count and not as_list and self.doctype:
|
||||
self.add_comment_count(result)
|
||||
|
|
@ -172,7 +177,7 @@ class DatabaseQuery(object):
|
|||
|
||||
return result
|
||||
|
||||
def build_and_run(self):
|
||||
def build_and_run(self, ignore_permissions):
|
||||
args = self.prepare_args()
|
||||
args.limit = self.add_limit()
|
||||
|
||||
|
|
@ -197,6 +202,15 @@ class DatabaseQuery(object):
|
|||
%(limit)s"""
|
||||
% args
|
||||
)
|
||||
if ignore_permissions:
|
||||
sql = self.query.get_sql(self.doctype, fields=self.temp_fields, filters=self.temp_filters)
|
||||
return sql.run(
|
||||
as_dict=not self.as_list,
|
||||
debug=self.debug,
|
||||
update=self.update,
|
||||
ignore_ddl=self.ignore_ddl,
|
||||
run=self.run,
|
||||
)
|
||||
|
||||
return frappe.db.sql(
|
||||
query,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue