Merge pull request #16383 from resilient-tech/refactor-doc-get
refactor(BaseDocument)!: don't return `__dict__` if `key` is falsy
This commit is contained in:
commit
5b7e7efb57
1 changed files with 21 additions and 23 deletions
|
|
@ -132,32 +132,30 @@ class BaseDocument(object):
|
|||
def get_db_value(self, key):
|
||||
return frappe.db.get_value(self.doctype, self.name, key)
|
||||
|
||||
def get(self, key=None, filters=None, limit=None, default=None):
|
||||
if key:
|
||||
if isinstance(key, dict):
|
||||
return _filter(self.get_all_children(), key, limit=limit)
|
||||
if filters:
|
||||
if isinstance(filters, dict):
|
||||
value = _filter(self.__dict__.get(key, []), filters, limit=limit)
|
||||
else:
|
||||
default = filters
|
||||
filters = None
|
||||
value = self.__dict__.get(key, default)
|
||||
def get(self, key, filters=None, limit=None, default=None):
|
||||
if isinstance(key, dict):
|
||||
return _filter(self.get_all_children(), key, limit=limit)
|
||||
|
||||
if filters:
|
||||
if isinstance(filters, dict):
|
||||
value = _filter(self.__dict__.get(key, []), filters, limit=limit)
|
||||
else:
|
||||
default = filters
|
||||
filters = None
|
||||
value = self.__dict__.get(key, default)
|
||||
|
||||
if value is None and key in (
|
||||
d.fieldname for d in self.meta.get_table_fields()
|
||||
):
|
||||
value = []
|
||||
self.set(key, value)
|
||||
|
||||
if limit and isinstance(value, (list, tuple)) and len(value) > limit:
|
||||
value = value[:limit]
|
||||
|
||||
return value
|
||||
else:
|
||||
return self.__dict__
|
||||
value = self.__dict__.get(key, default)
|
||||
|
||||
if value is None and key in (
|
||||
d.fieldname for d in self.meta.get_table_fields()
|
||||
):
|
||||
value = []
|
||||
self.set(key, value)
|
||||
|
||||
if limit and isinstance(value, (list, tuple)) and len(value) > limit:
|
||||
value = value[:limit]
|
||||
|
||||
return value
|
||||
|
||||
def getone(self, key, filters=None):
|
||||
return self.get(key, filters=filters, limit=1)[0]
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue