add filters

This commit is contained in:
bkfox
2022-05-05 12:53:30 +02:00
parent e94aeb2440
commit 36f5ee8b44
6 changed files with 76 additions and 4 deletions

View File

@ -38,7 +38,7 @@ class Category(models.Model):
return self.title
class PageQuerySet(InheritanceQuerySet):
class BasePageQuerySet(InheritanceQuerySet):
def draft(self):
return self.filter(status=Page.STATUS_DRAFT)
@ -86,7 +86,7 @@ class BasePage(models.Model):
_('content'), blank=True, null=True,
)
objects = PageQuerySet.as_manager()
objects = BasePageQuerySet.as_manager()
detail_url_name = None
item_template_name = 'aircox/widgets/page_item.html'
@ -149,6 +149,12 @@ class BasePage(models.Model):
return cls(**cls.get_init_kwargs_from(page, **kwargs))
class PageQuerySet(BasePageQuerySet):
def published(self):
return self.filter(status=Page.STATUS_PUBLISHED,
pub_date__lte=tz.now())
class Page(BasePage):
""" Base Page model used for articles and other dated content. """
category = models.ForeignKey(
@ -163,6 +169,8 @@ class Page(BasePage):
_('allow comments'), default=True,
)
objects = PageQuerySet.as_manager()
class Meta:
verbose_name = _('Publication')
verbose_name_plural = _('Publications')