Index: django/db/models/query.py
===================================================================
--- django/db/models/query.py	(revision 7243)
+++ django/db/models/query.py	(working copy)
@@ -153,14 +153,16 @@
         Performs the query and returns a single object matching the given
         keyword arguments.
         """
-        clone = self.filter(*args, **kwargs)
+        filtered = self.filter(*args, **kwargs)
+        clone = filtered._clone()
+        clone.query.set_limits(0, 2)             # We only need at most 2.
         obj_list = list(clone)
         if len(obj_list) < 1:
             raise self.model.DoesNotExist("%s matching query does not exist."
                     % self.model._meta.object_name)
         elif len(obj_list) > 1:
             raise self.model.MultipleObjectsReturned("get() returned more than one %s -- it returned %s! Lookup parameters were %s"
-                    % (self.model._meta.object_name, len(obj_list), kwargs))
+                    % (self.model._meta.object_name, filtered.count(), kwargs))
         return obj_list[0]
 
     def create(self, **kwargs):
Index: tests/modeltests/basic/models.py
===================================================================
--- tests/modeltests/basic/models.py	(revision 7243)
+++ tests/modeltests/basic/models.py	(working copy)
@@ -244,6 +244,13 @@
 >>> s1 & s2
 []
 
+# Django raises an Article.MultipleObjectsReturned exception for get() if the 
+# parameters match more than one article.
+>>> Article.objects.get(pub_date__year=2005)
+Traceback (most recent call last):
+    ...
+MultipleObjectsReturned: get() returned more than one Article -- it returned 8! Lookup parameters were {'pub_date__year': 2005}
+
 # You can get the number of objects like this:
 >>> len(Article.objects.filter(id__exact=1))
 1
