From 49f7dcec062af318425e1d0d0b24162803247b4c Mon Sep 17 00:00:00 2001 From: Alexander Burdeinyi Date: Fri, 16 Dec 2016 17:23:37 +0200 Subject: [PATCH] nearest event recommendation fix --- functions/model_mixin.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/functions/model_mixin.py b/functions/model_mixin.py index 1d489721..997ccd2b 100644 --- a/functions/model_mixin.py +++ b/functions/model_mixin.py @@ -127,12 +127,12 @@ class EventMixin(object): events_m = [] events = [] for params in [{'tag__in': tags}, {'theme__in': themes}]: - qs = _qs.filter(**params).order_by('data_begin') - events_m2.extend(qs.filter(data_begin__gte=month2).exclude(pk__in=exclude_pks)[:3]) + qs = _qs.filter(**params).order_by('data_begin').distinct() + events_m2.extend(list(qs.filter(data_begin__gte=month2).exclude(pk__in=exclude_pks)[:3])) exclude_pks.update([x.pk for x in events_m2]) - events_m.extend(qs.filter(data_begin__gte=month).exclude(pk__in=exclude_pks)[:3]) + events_m.extend(list(qs.filter(data_begin__gte=month).exclude(pk__in=exclude_pks)[:3])) exclude_pks.update([x.pk for x in events_m]) - events.extend(qs.filter(data_begin__gte=now).exclude(pk__in=exclude_pks)[:3]) + events.extend(list(qs.filter(data_begin__gte=now).exclude(pk__in=exclude_pks)[:3])) exclude_pks.update([x.pk for x in events]) return (list( sorted(list(chain(*zip(*[x for x in [events_m2, events_m, events] if x])))[:3], key=lambda x: x.data_begin)), @@ -142,8 +142,8 @@ class EventMixin(object): if getattr(self, '_nearest_events', None) is None: model = self.__class__ result = [] - tags = self.tag.all().values_list('pk', flat=True) - themes = self.theme.all().values_list('pk', flat=True) + 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) if len(result) > 3: