from django.db import models class NewsQuerySet(models.query.QuerySet): def live(self): return self.filter(state='published') def interesting(self): return self.filter(interesting=True) class NewsManager(models.Manager): def get_query_set(self): model = models.get_model('news', 'NewsItem') return NewsQuerySet(model) def __getattr__(self, attr, *args): try: return getattr(self.__class__, attr, *args) except AttributeError: return getattr(self.get_query_set(), attr, *args)