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')