def exclude_private(self): """filter based on 'privacy_field' model class attribute 'privacy_field' is a two-tuple whose first item is the name of a BooleanField and whose second item is a bool which is True if ' == True' indicates private (such as a field 'is_private') """ if not hasattr(self.model, "privacy_field"): return self privacy_field = self.model.privacy_field return self.exclude(**{privacy_policy[0]: privacy_field[1]}) from django.db.models import QuerySet QuerySet.exclude_private = exclude_private