class PublishedManager(models.Manager):
def get_queryset(self):
return super().get_queryset().filter(is_draft=False, published_at__lte=timezone.now())
class Post(models.Model):
objects = models.Manager() # default
published = PublishedManager() # custom
Post.published.all() # all published posts