| from django.conf import settings | 
 | from django.db import models | 
 | from django.db.models.fields import FieldDoesNotExist | 
 |  | 
 | class CurrentSiteManager(models.Manager): | 
 |     "Use this to limit objects to those associated with the current site." | 
 |     def __init__(self, field_name='site'): | 
 |         super(CurrentSiteManager, self).__init__() | 
 |         self.__field_name = field_name | 
 |         self.__is_validated = False | 
 |  | 
 |     def get_query_set(self): | 
 |         if not self.__is_validated: | 
 |             try: | 
 |                 self.model._meta.get_field(self.__field_name) | 
 |             except FieldDoesNotExist: | 
 |                 raise ValueError, "%s couldn't find a field named %s in %s." % \ | 
 |                     (self.__class__.__name__, self.__field_name, self.model._meta.object_name) | 
 |             self.__is_validated = True | 
 |         return super(CurrentSiteManager, self).get_query_set().filter(**{self.__field_name + '__id__exact': settings.SITE_ID}) |