The following question was asked by a different user that subsequently removed the question. But I think it is useful to "dig" a bit in how Django's manager logic works. I extended the models.Manager class and created a custom manager. class PublishedManager(models.Manager): def get_queryset(self): return super().get_queryset().filter(status=Post.Status.PUBLISHED) It's more than understandable, BUT how do calls of managers work? objects = models.Manager() # The default manager. published = PublishedManager() # Our custom manager. I don't address get_queryset() method, I just call constructors. Then how does it work? Continue reading...