Reading djangodocs about managers, I'm interested in different implementation of custom QuerySet
methods.
So, I'm giving my examples. First implementations as in djangodocs:
class ProductQuerySet(models.QuerySet):
def small(self):
return self.filter(volume__lt=1)
def large(self):
return self.filter(volume__gt=4)
and then in model:
objects = ProductQuerySet.as_manager()
Second simple implementation:
class VolumeManager(models.Manager):
def small(self):
return self.filter(volume__lt=1)
def large(self):
return self.filter(volume__gt=4)
and in model:
objects = VolumeManager()
Is there any difference between them? Or is there any special use of first implementation? I think that second implementation is easier and clear.