from random import choices from django import template from backend.models import Playlist register = template.Library() @register.simple_tag def other_videos(playlist, video, count=4): videos = playlist.videos.all().order_by("-published") older = list(videos.filter(published__lt=video.published)) newer = list(videos.filter(published__gt=video.published)) newer_out = newer[:count] older_out = older[-count-len(newer_out):] return sorted(older_out + newer_out, key=lambda x: x.published)