Replaced an inline model method caching with a @memoize decorator.
- Legacy-Id: 14993
This commit is contained in:
parent
7bb8ce55a6
commit
68cea6d523
|
@ -24,6 +24,7 @@ from ietf.group.models import Group
|
||||||
from ietf.group.utils import can_manage_materials
|
from ietf.group.utils import can_manage_materials
|
||||||
from ietf.name.models import MeetingTypeName, TimeSlotTypeName, SessionStatusName, ConstraintName, RoomResourceName, ImportantDateName
|
from ietf.name.models import MeetingTypeName, TimeSlotTypeName, SessionStatusName, ConstraintName, RoomResourceName, ImportantDateName
|
||||||
from ietf.person.models import Person
|
from ietf.person.models import Person
|
||||||
|
from ietf.utils.decorators import memoize
|
||||||
from ietf.utils.storage import NoLocationMigrationFileSystemStorage
|
from ietf.utils.storage import NoLocationMigrationFileSystemStorage
|
||||||
from ietf.utils.text import xslugify
|
from ietf.utils.text import xslugify
|
||||||
from ietf.utils.timezone import date2datetime
|
from ietf.utils.timezone import date2datetime
|
||||||
|
@ -283,10 +284,9 @@ class Meeting(models.Model):
|
||||||
ts = tz.localize(ts)
|
ts = tz.localize(ts)
|
||||||
return ts
|
return ts
|
||||||
|
|
||||||
|
@memoize
|
||||||
def previous_meeting(self):
|
def previous_meeting(self):
|
||||||
if not hasattr(self, "_previous_meeting_cache"):
|
return Meeting.objects.filter(type_id=self.type_id,date__lt=self.date).order_by('-date').first()
|
||||||
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
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
ordering = ["-date", "-id"]
|
ordering = ["-date", "-id"]
|
||||||
|
|
Loading…
Reference in a new issue