fix related expos

stage8
Slava 9 years ago
parent 4e9d4b4445
commit a2137fe6c6
  1. 11
      apps/functions/model_mixin.py
  2. 4
      templates/client/exposition/exposition_detail.html

@ -172,17 +172,26 @@ 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, '_recommend_expos', None) is None or self._recommend_expos == []:
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))
top_paid = list(
model.objects.filter(
Q(top__isnull=False, theme__in=themes) |
Q(paid_new__isnull=False, theme__in=themes)
).filter(
is_published=True
).order_by('?')
)
qs = model.objects.language().filter(country_id=self.country_id)
result, exclude = self.get_recommend_expos_incl(qs, tags, themes)
if len(result) > 5:
qs = model.objects.language()
r, e = self.get_recommend_expos_incl(qs, tags, themes, exclude)
result += r
result = top_paid + result
if len(result) < 5:
self._recommend_expos = result[:3]
else:

@ -210,9 +210,9 @@
<p>
{{ item.city }},
{{ item.data_begin|date:'d' }}
{% if item.get_data_begin_month != item.get_data_end_month %}{{ item.data_begin|date:'m' }}{% endif %}
{% if item.get_data_begin_month != item.get_data_end_month %}.{{ item.data_begin|date:'m' }}.{% endif %}
{% if item.data_end %}
-{{ item.data_end|date:'d' }} {{ item.data_end|date:'m' }}
- {{ item.data_end|date:'d' }}.{{ item.data_end|date:'m' }}.
{% else %}
{{ item.data_begin|date:'m' }}
{% endif %}

Loading…
Cancel
Save