20 lines
521 B
Python
20 lines
521 B
Python
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) |