def recalculate_recent(self): for channel1_id in Rating.objects.filter( timestamp__gt=(datetime.now() - timedelta(days=1)), channel__state=Channel.APPROVED).values_list( 'channel', flat=True).distinct(): channel1 = Channel.objects.get(pk=channel1_id) for channel2_id in utils.find_relevant_similar(channel1): channel2 = Channel.objects.get(pk=channel2_id) self.filter(channel1=channel1, channel2=channel2).delete() self.filter(channel1=channel2, channel2=channel1).delete() self.calculate(channel1, channel2)
def recalculate_recent(self): for channel1_id in Rating.objects.filter( timestamp__gt=(datetime.now()-timedelta(days=1)), channel__state=Channel.APPROVED).values_list('channel', flat=True).distinct(): channel1 = Channel.objects.get(pk=channel1_id) for channel2_id in utils.find_relevant_similar(channel1): channel2 = Channel.objects.get(pk=channel2_id) self.filter(channel1=channel1, channel2=channel2).delete() self.filter(channel1=channel2, channel2=channel1).delete() self.calculate(channel1, channel2)
def recalculate_all(self): self.all().delete() for channel1 in Channel.objects.approved(): for channel2 in utils.find_relevant_similar(channel1): self.calculate(channel1, channel2)