From 98f64dfea4ba37b10d556ca52848678e0a2c193b Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Wed, 14 Mar 2018 19:14:16 +0000 Subject: [PATCH] Added result caching for the Person.email() method. - Legacy-Id: 14797 --- ietf/person/models.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ietf/person/models.py b/ietf/person/models.py index 281b024cb..29a596881 100644 --- a/ietf/person/models.py +++ b/ietf/person/models.py @@ -104,10 +104,12 @@ class PersonInfo(models.Model): return e[0] return None def email(self): - e = self.email_set.filter(primary=True).first() - if not e: - e = self.email_set.filter(active=True).order_by("-time").first() - return e + if not hasattr(self, '_cached_email'): + e = self.email_set.filter(primary=True).first() + if not e: + e = self.email_set.filter(active=True).order_by("-time").first() + self._cached_email = e + return self._cached_email def email_address(self): e = self.email() if e: