From 68cea6d5237f74f2a2c57db6f2bb41a4dab0153d Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Mon, 2 Apr 2018 11:18:55 +0000 Subject: [PATCH] Replaced an inline model method caching with a @memoize decorator. - Legacy-Id: 14993 --- ietf/meeting/models.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ietf/meeting/models.py b/ietf/meeting/models.py index 1f3a8ce31..d41e5d40b 100644 --- a/ietf/meeting/models.py +++ b/ietf/meeting/models.py @@ -24,6 +24,7 @@ from ietf.group.models import Group from ietf.group.utils import can_manage_materials from ietf.name.models import MeetingTypeName, TimeSlotTypeName, SessionStatusName, ConstraintName, RoomResourceName, ImportantDateName from ietf.person.models import Person +from ietf.utils.decorators import memoize from ietf.utils.storage import NoLocationMigrationFileSystemStorage from ietf.utils.text import xslugify from ietf.utils.timezone import date2datetime @@ -283,10 +284,9 @@ class Meeting(models.Model): ts = tz.localize(ts) return ts + @memoize def previous_meeting(self): - if not hasattr(self, "_previous_meeting_cache"): - self._previous_meeting_cache = Meeting.objects.filter(type_id=self.type_id,date__lt=self.date).order_by('-date').first() - return self._previous_meeting_cache + return Meeting.objects.filter(type_id=self.type_id,date__lt=self.date).order_by('-date').first() class Meta: ordering = ["-date", "-id"]