Merge branch 'stage8' of gitlab.com:OldminTeam/expomap into stage8

stage8
Alexey 9 years ago
commit 0deabbb46f
  1. 15
      apps/functions/model_mixin.py

@ -139,7 +139,7 @@ class EventMixin(object):
exclude_pks)
def get_nearest_events(self):
if getattr(self, '_nearest_events', None) is None:
if getattr(self, '_nearest_events', None) is None or self._nearest_events == []:
model = self.__class__
result = []
tags = list(self.tag.all().values_list('pk', flat=True))
@ -172,19 +172,22 @@ class EventMixin(object):
return (list(sorted(list(chain(*zip(*[x for x in [events_m2, events_m, events] if x])))[3:5], key=lambda x: x.data_begin)), exclude_pks)
def get_recommend_expos(self):
if getattr(self, '_nearest_events', None) is None:
if getattr(self, '_recommend_expos', None) is None or self._recommend_expos == []:
model = self.__class__
result = []
tags = list(self.tag.all().values_list('pk', flat=True))
themes = list(self.theme.all().values_list('pk', flat=True))
qs = model.objects.language().filter(country_id=self.country_id)
result, exclude = self.get_nearest_events_incl(qs, tags, themes)
result, exclude = self.get_recommend_expos_incl(qs, tags, themes)
if len(result) > 5:
qs = model.objects.language()
r, e = self.get_nearest_events_incl(qs, tags, themes, exclude)
r, e = self.get_recommend_expos_incl(qs, tags, themes, exclude)
result += r
self._nearest_events = result[3:5]
return self._nearest_events
if len(result) < 5:
self._recommend_expos = result[:3]
else:
self._recommend_expos = result[3:5]
return self._recommend_expos
def get_nearest_events_url(self):
url_params = QueryDict('', mutable=True)

Loading…
Cancel
Save