Похоже, это пользовательский менеджер .
Model.objects - это менеджер по умолчанию, предоставляемый django, но нам разрешено создавать свои собственные, поэтому, например, если у меня была опубликована модель Post с атрибутом, я могу создать Опубликованный менеджер.
class PublishedManager(models.Manager):
def unpublished(self):
return self.filter(published=False)
class Post(models.Model):
title = models.CharField(max_length=30)
published = models.BooleanField(default=True)
objects = PublishedManager()
Я мог бы легко сделать:
Post.objects.unpublished
Даже если unpublished
не является атрибутом Post
.
Это глупый пример, но я надеюсь, что вы поняли идею.