Files
website-v2/versions/managers.py
2023-02-11 06:44:12 -08:00

40 lines
1.0 KiB
Python

from django.db import models
class VersionQuerySet(models.QuerySet):
def active(self):
"""Return active versions"""
return self.filter(active=True)
def most_recent(self):
"""Return most recent active version"""
return self.active().order_by("-release_date").first()
class VersionManager(models.Manager):
def get_queryset(self):
return VersionQuerySet(self.model, using=self._db)
def active(self):
"""Return active versions"""
return self.get_queryset().active()
def most_recent(self):
"""Return most recent active version"""
return self.get_queryset().most_recent()
class VersionFileQuerySet(models.QuerySet):
def active(self):
"""Return files for active versions"""
return self.filter(version__active=True)
class VersionFileManager(models.Manager):
def get_queryset(self):
return VersionFileQuerySet(self.model, using=self._db)
def active(self):
"""Return files active versions"""
return self.get_queryset().active()