Index: django/contrib/sites/models.py
===================================================================
--- django/contrib/sites/models.py	(revision 3677)
+++ django/contrib/sites/models.py	(working copy)
@@ -1,6 +1,10 @@
 from django.db import models
 from django.utils.translation import gettext_lazy as _
+from django.core.exceptions import ImproperlyConfigured
 
+class SiteProfileNotAvailable(Exception):
+    pass
+
 class SiteManager(models.Manager):
     def get_current(self):
         from django.conf import settings
@@ -21,3 +25,20 @@
 
     def __str__(self):
         return self.domain
+    
+    def get_profile(self):
+        """
+        Returns profile for this site. Raises
+        SiteProfileNotAvailable if this site does not allow profiles.
+        """
+        if not hasattr(self, '_profile_cache'):
+            from django.conf import settings
+            if not settings.SITE_PROFILE_MODULE:
+                raise SiteProfileNotAvailable
+            try:
+                app_label, model_name = settings.SITE_PROFILE_MODULE.split('.')
+                model = models.get_model(app_label, model_name)
+                self._profile_cache = model._default_manager.get(site__id__exact=self.id)
+            except (ImportError, ImproperlyConfigured):
+                raise SiteProfileNotAvailable
+        return self._profile_cache
