Просмотр исходного кода

[get_value] [fix] fix in get_values_from_single

version-14
Anand Doshi 12 лет назад
Родитель
Сommit
8e2fb38dc8
2 измененных файлов: 15 добавлений и 17 удалений
  1. +14
    -14
      webnotes/db.py
  2. +1
    -3
      webnotes/model/utils.py

+ 14
- 14
webnotes/db.py Просмотреть файл

@@ -146,14 +146,17 @@ class Database:
return self._cursor.fetchall() return self._cursor.fetchall()
def explain_query(self, query, values=None): def explain_query(self, query, values=None):
webnotes.errprint("--- query explain ---")
if values is None:
self._cursor.execute("explain " + query)
else:
self._cursor.execute("explain " + query, values)
import json
webnotes.errprint(json.dumps(self.fetch_as_dict(), indent=1))
webnotes.errprint("--- query explain end ---")
try:
webnotes.errprint("--- query explain ---")
if values is None:
self._cursor.execute("explain " + query)
else:
self._cursor.execute("explain " + query, values)
import json
webnotes.errprint(json.dumps(self.fetch_as_dict(), indent=1))
webnotes.errprint("--- query explain end ---")
except:
webnotes.errprint("error in query explain")


def sql_list(self, query, values=(), debug=False): def sql_list(self, query, values=(), debug=False):
return [r[0] for r in self.sql(query, values, debug=debug)] return [r[0] for r in self.sql(query, values, debug=debug)]
@@ -336,10 +339,10 @@ class Database:
return [] return []
if as_dict: if as_dict:
return values
return values and [values] or []
if isinstance(fields, list): if isinstance(fields, list):
return map(lambda d: values.get(d), fields)
return [map(lambda d: values.get(d), fields)]
else: else:
r = self.sql("""select field, value r = self.sql("""select field, value
@@ -350,10 +353,7 @@ class Database:
if as_dict: if as_dict:
return r and [webnotes._dict(r)] or [] return r and [webnotes._dict(r)] or []
else: else:
if r:
return [[i[1] for i in r]]
else:
return []
return r and [[i[1] for i in r]] or []
def get_values_from_table(self, fields, filters, doctype, as_dict, debug): def get_values_from_table(self, fields, filters, doctype, as_dict, debug):
fl = fields fl = fields


+ 1
- 3
webnotes/model/utils.py Просмотреть файл

@@ -214,9 +214,7 @@ def check_if_doc_is_linked(dt, dn, method="Delete"):
link_fields = get_link_fields(dt) link_fields = get_link_fields(dt)
link_fields = [[lf['parent'], lf['fieldname']] for lf in link_fields] link_fields = [[lf['parent'], lf['fieldname']] for lf in link_fields]


for l in link_fields:
link_dt, link_field = l

for link_dt, link_field in link_fields:
item = webnotes.conn.get_value(link_dt, {link_field:dn}, ["name", "parent", "parenttype", item = webnotes.conn.get_value(link_dt, {link_field:dn}, ["name", "parent", "parenttype",
"docstatus"], as_dict=True) "docstatus"], as_dict=True)


Загрузка…
Отмена
Сохранить