refactor: Use @cached_property (#29212)

This commit is contained in:
Ankush Menat 2025-01-17 11:39:05 +05:30 committed by GitHub
parent c8ec528aa7
commit 4e4972fe2d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -223,10 +223,12 @@ class Meta(Document):
return self.get("fields", {"fieldtype": "Phone"}) return self.get("fields", {"fieldtype": "Phone"})
def get_dynamic_link_fields(self): def get_dynamic_link_fields(self):
if not hasattr(self, "_dynamic_link_fields"):
self._dynamic_link_fields = self.get("fields", {"fieldtype": "Dynamic Link"})
return self._dynamic_link_fields return self._dynamic_link_fields
@cached_property
def _dynamic_link_fields(self):
return self.get("fields", {"fieldtype": "Dynamic Link"})
def get_select_fields(self): def get_select_fields(self):
return self.get("fields", {"fieldtype": "Select", "options": ["not in", ["[Select]", "Loading..."]]}) return self.get("fields", {"fieldtype": "Select", "options": ["not in", ["[Select]", "Loading..."]]})
@ -640,10 +642,12 @@ class Meta(Document):
def get_high_permlevel_fields(self): def get_high_permlevel_fields(self):
"""Build list of fields with high perm level and all the higher perm levels defined.""" """Build list of fields with high perm level and all the higher perm levels defined."""
if not hasattr(self, "high_permlevel_fields"):
self.high_permlevel_fields = [df for df in self.fields if df.permlevel > 0]
return self.high_permlevel_fields return self.high_permlevel_fields
@cached_property
def high_permlevel_fields(self):
return [df for df in self.fields if df.permlevel > 0]
def get_permitted_fieldnames( def get_permitted_fieldnames(
self, self,
parenttype=None, parenttype=None,