Added caching for the somewhat costly TimeSlot.session() method/property.

This speeds up text agenda generation using the legacy template substantially.
 - Legacy-Id: 6461
This commit is contained in:
Henrik Levkowetz 2013-10-17 11:32:27 +00:00
parent a23d31677f
commit ee1ae839d9

View file

@ -249,9 +249,10 @@ class TimeSlot(models.Model):
@property
def session(self):
sessions = self.sessions.filter(scheduledsession__schedule=self.meeting.agenda)
session = sessions.get() if sessions.count() == 1 else None
return session
if not hasattr(self, "_session_cache"):
sessions = self.sessions.filter(scheduledsession__schedule=self.meeting.agenda)
self._session_cache = sessions.get() if sessions.count() == 1 else None
return self._session_cache
@property
def time_desc(self):