Index: django/db/models/manipulators.py
===================================================================
--- django/db/models/manipulators.py	(revision 944)
+++ django/db/models/manipulators.py	(working copy)
@@ -109,7 +109,15 @@
         if self.change:
             self.fields_added, self.fields_changed, self.fields_deleted = [], [], []
             for f in self.opts.fields:
-                if not f.primary_key and str(getattr(self.original_object, f.attname)) != str(getattr(new_object, f.attname)):
+                if f.primary_key or getattr(f, 'auto_now', None) \
+                                 or getattr(f, 'auto_now_add', None):
+                    continue
+                newval = getattr(new_object, f.attname)
+                if type(newval) is bool:
+                    cast = bool
+                else:
+                    cast = str
+                if cast(getattr(self.original_object, f.attname)) != cast(newval):
                     self.fields_changed.append(f.verbose_name)
 
         # Save many-to-many objects. Example: Set sites for a poll.
