Skip to content

Commit ee1ae83

Browse files
committed
Added caching for the somewhat costly TimeSlot.session() method/property.
This speeds up text agenda generation using the legacy template substantially. - Legacy-Id: 6461
1 parent a23d316 commit ee1ae83

1 file changed

Lines changed: 4 additions & 3 deletions

File tree

ietf/meeting/models.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -249,9 +249,10 @@ class TimeSlot(models.Model):
249249

250250
@property
251251
def session(self):
252-
sessions = self.sessions.filter(scheduledsession__schedule=self.meeting.agenda)
253-
session = sessions.get() if sessions.count() == 1 else None
254-
return session
252+
if not hasattr(self, "_session_cache"):
253+
sessions = self.sessions.filter(scheduledsession__schedule=self.meeting.agenda)
254+
self._session_cache = sessions.get() if sessions.count() == 1 else None
255+
return self._session_cache
255256

256257
@property
257258
def time_desc(self):

0 commit comments

Comments
 (0)