Index: django/test/client.py
===================================================================
--- django/test/client.py	(revision 7364)
+++ django/test/client.py	(working copy)
@@ -95,7 +95,7 @@
     ])
     return '\r\n'.join(lines)
 
-class Client:
+class Client(object):
     """
     A class that can act as a client for testing purposes.
 
Index: django/db/models/fields/__init__.py
===================================================================
--- django/db/models/fields/__init__.py	(revision 7364)
+++ django/db/models/fields/__init__.py	(working copy)
@@ -21,7 +21,7 @@
 from django.utils.encoding import smart_unicode, force_unicode, smart_str
 from django.utils.maxlength import LegacyMaxlength
 
-class NOT_PROVIDED:
+class NOT_PROVIDED(object):
     pass
 
 # Values for filter_interface.
Index: django/db/backends/mysql_old/base.py
===================================================================
--- django/db/backends/mysql_old/base.py	(revision 7364)
+++ django/db/backends/mysql_old/base.py	(working copy)
@@ -39,7 +39,7 @@
 
 # This is an extra debug layer over MySQL queries, to display warnings.
 # It's only used when DEBUG=True.
-class MysqlDebugWrapper:
+class MysqlDebugWrapper(object):
     def __init__(self, cursor):
         self.cursor = cursor
 
@@ -58,10 +58,7 @@
             raise Database.Warning("%s: %s" % (w, self.cursor.fetchall()))
 
     def __getattr__(self, attr):
-        if attr in self.__dict__:
-            return self.__dict__[attr]
-        else:
-            return getattr(self.cursor, attr)
+        return getattr(self.cursor, attr)
 
 class DatabaseFeatures(BaseDatabaseFeatures):
     autoindexes_primary_keys = False
Index: django/db/backends/sqlite3/introspection.py
===================================================================
--- django/db/backends/sqlite3/introspection.py	(revision 7364)
+++ django/db/backends/sqlite3/introspection.py	(working copy)
@@ -74,7 +74,7 @@
 # This light wrapper "fakes" a dictionary interface, because some SQLite data
 # types include variables in them -- e.g. "varchar(30)" -- and can't be matched
 # as a simple dictionary lookup.
-class FlexibleFieldLookupDict:
+class FlexibleFieldLookupDict(object):
     def __getitem__(self, key):
         key = key.lower()
         try:
Index: django/oldforms/__init__.py
===================================================================
--- django/oldforms/__init__.py	(revision 7364)
+++ django/oldforms/__init__.py	(working copy)
@@ -549,7 +549,7 @@
                 {{ option.field }} {{ option.label }}<br />
             {% endfor %}
         """
-        class RadioFieldRenderer:
+        class RadioFieldRenderer(object):
             def __init__(self, datalist, ul_class):
                 self.datalist, self.ul_class = datalist, ul_class
             def __unicode__(self):
Index: django/core/management/validation.py
===================================================================
--- django/core/management/validation.py	(revision 7364)
+++ django/core/management/validation.py	(working copy)
@@ -2,7 +2,7 @@
 from django.core.management.color import color_style
 from django.utils.itercompat import is_iterable
 
-class ModelErrorCollection:
+class ModelErrorCollection(object):
     def __init__(self, outfile=sys.stdout):
         self.errors = []
         self.outfile = outfile
Index: django/core/management/color.py
===================================================================
--- django/core/management/color.py	(revision 7364)
+++ django/core/management/color.py	(working copy)
@@ -23,7 +23,8 @@
     """Returns a Style object with the Django color scheme."""
     if not supports_color():
         return no_style()
-    class dummy: pass
+    class dummy(object):
+        pass
     style = dummy()
     style.ERROR = termcolors.make_style(fg='red', opts=('bold',))
     style.ERROR_OUTPUT = termcolors.make_style(fg='red', opts=('bold',))
@@ -36,7 +37,7 @@
 
 def no_style():
     """Returns a Style object that has no colors."""
-    class dummy:
+    class dummy(object):
         def __getattr__(self, attr):
             return lambda x: x
     return dummy()
Index: django/dispatch/saferef.py
===================================================================
--- django/dispatch/saferef.py	(revision 7364)
+++ django/dispatch/saferef.py	(working copy)
@@ -174,7 +174,7 @@
     is equally fast, but not 100% reliable because functions can be stored on an
     attribute named differenty than the function's name such as in:
 
-    class A: pass
+    class A(object): pass
     def foo(self): return "foo"
     A.bar = foo
 
Index: django/dispatch/dispatcher.py
===================================================================
--- django/dispatch/dispatcher.py	(revision 7364)
+++ django/dispatch/dispatcher.py	(working copy)
@@ -33,7 +33,7 @@
 __version__ = "$Revision: 1.9 $"[11:-2]
 
 
-class _Parameter:
+class _Parameter(object):
     """Used to represent default parameter values."""
     def __repr__(self):
         return self.__class__.__name__
Index: django/utils/_decimal.py
===================================================================
--- django/utils/_decimal.py	(revision 7364)
+++ django/utils/_decimal.py	(working copy)
@@ -392,7 +392,7 @@
 except ImportError:
     # Python was compiled without threads; create a mock object instead
     import sys
-    class MockThreading:
+    class MockThreading(object):
         def local(self, sys=sys):
             return sys.modules[__name__]
     threading = MockThreading()
Index: django/utils/daemonize.py
===================================================================
--- django/utils/daemonize.py	(revision 7364)
+++ django/utils/daemonize.py	(working copy)
@@ -51,7 +51,7 @@
         else:
             sys.stdout = NullDevice()
 
-    class NullDevice:
+    class NullDevice(object):
         "A writeable object that writes to nowhere -- like /dev/null."
         def write(self, s):
             pass
Index: django/utils/synch.py
===================================================================
--- django/utils/synch.py	(revision 7364)
+++ django/utils/synch.py	(working copy)
@@ -11,7 +11,7 @@
 except ImportError:
     import dummy_threading as threading
 
-class RWLock:
+class RWLock(object):
     """
     Classic implementation of reader-writer lock with preference to writers.
 
Index: django/contrib/comments/templatetags/comments.py
===================================================================
--- django/contrib/comments/templatetags/comments.py	(revision 7364)
+++ django/contrib/comments/templatetags/comments.py	(working copy)
@@ -136,7 +136,7 @@
         context[self.var_name] = comment_list
         return ''
 
-class DoCommentForm:
+class DoCommentForm(object):
     """
     Displays a comment form for the given params.
 
@@ -211,7 +211,7 @@
                     raise template.TemplateSyntaxError, "%r tag got invalid parameter '%s'" % (tokens[0], option)
         return CommentFormNode(content_type, obj_id_lookup_var, obj_id, self.free, **kwargs)
 
-class DoCommentCount:
+class DoCommentCount(object):
     """
     Gets comment count for the given params and populates the template context
     with a variable containing that value, whose name is defined by the 'as'
@@ -261,7 +261,7 @@
             raise template.TemplateSyntaxError, "Fourth argument in %r must be 'as'" % tokens[0]
         return CommentCountNode(package, module, var_name, obj_id, tokens[5], self.free)
 
-class DoGetCommentList:
+class DoGetCommentList(object):
     """
     Gets comments for the given params and populates the template context with a
     special comment_package variable, whose name is defined by the ``as``
Index: django/contrib/sitemaps/__init__.py
===================================================================
--- django/contrib/sitemaps/__init__.py	(revision 7364)
+++ django/contrib/sitemaps/__init__.py	(working copy)
@@ -33,7 +33,7 @@
     params = urllib.urlencode({'sitemap':url})
     urllib.urlopen("%s?%s" % (ping_url, params))
 
-class Sitemap:
+class Sitemap(object):
     def __get(self, name, obj, default=None):
         try:
             attr = getattr(self, name)
Index: django/contrib/admin/templatetags/log.py
===================================================================
--- django/contrib/admin/templatetags/log.py	(revision 7364)
+++ django/contrib/admin/templatetags/log.py	(working copy)
@@ -19,7 +19,7 @@
             context[self.varname] = LogEntry.objects.filter(user__id__exact=self.user).select_related()[:self.limit]
         return ''
 
-class DoGetAdminLog:
+class DoGetAdminLog(object):
     """
     Populates a template variable with the admin log for the given criteria.
 
Index: django/template/defaulttags.py
===================================================================
--- django/template/defaulttags.py	(revision 7364)
+++ django/template/defaulttags.py	(working copy)
@@ -252,7 +252,7 @@
                     return self.nodelist_false.render(context)
             return self.nodelist_true.render(context)
 
-    class LinkTypes:
+    class LinkTypes(object):
         and_ = 0,
         or_ = 1
 
