refactor(src/projects): cache role names in role_display_name

Prevent repeated DB hits by caching Role objects and names.
This commit is contained in:
sankalp committed 2026-06-29 07:20:29 +05:45
1 parent 9070bf3015
commit 0497b7e68d
1 file changed
+5 -4
+5 -4
View File
@@ -116,9 +116,10 @@ class BoardRolePermission(models.Model):
@property @property
def role_display_name(self): def role_display_name(self):
if not hasattr(BoardRolePermission, "_role_names"):
from src.accounts.models import Role from src.accounts.models import Role
try: BoardRolePermission._role_names = {
return Role.objects.get(slug=self.role).name r.slug: r.name for r in Role.objects.only("slug", "name")
except Role.DoesNotExist: }
return self.role return BoardRolePermission._role_names.get(self.role, self.role)