from django.db import models from django.db.models.query import QuerySet class PersonQuerySet(QuerySet): def men(self): return self.filter(sex='m') def women(self): return self.filter(sex='f') class PersonManager(models.Manager): def get_query_set(self): PersonQuerySet(self.model, using=self._db) def men(self): return self.get_query_set().men() def women(self): return self.get_query_set().women() class Person(models.Model) name = models.CharField() birth_date = models.DateField() sex = models.CharField(max_length=1) objects = PersonManager() qs = Person.objects.filter(birth_date__year=1978) qs.men().filter(name__icontains='Bob')