Index: django/db/models/base.py
===================================================================
--- django/db/models/base.py	(revision 6669)
+++ django/db/models/base.py	(working copy)
@@ -207,7 +207,7 @@
     _prepare = classmethod(_prepare)
 
     def save(self, raw=False):
-        dispatcher.send(signal=signals.pre_save, sender=self.__class__, instance=self)
+        dispatcher.send(signal=signals.pre_save, sender=self.__class__, instance=self, raw=raw)
 
         non_pks = [f for f in self._meta.fields if not f.primary_key]
         cursor = connection.cursor()
@@ -268,7 +268,7 @@
 
         # Run any post-save hooks.
         dispatcher.send(signal=signals.post_save, sender=self.__class__,
-                instance=self, created=(not record_exists))
+                instance=self, created=(not record_exists), raw=raw)
 
     save.alters_data = True
 
Index: tests/modeltests/signals/models.py
===================================================================
--- tests/modeltests/signals/models.py	(revision 6669)
+++ tests/modeltests/signals/models.py	(working copy)
@@ -15,6 +15,8 @@
 
 def pre_save_test(sender, instance, **kwargs):
     print 'pre_save signal,', instance
+    if kwargs['raw']:
+        print 'Is raw'
 
 def post_save_test(sender, instance, **kwargs):
     print 'post_save signal,', instance
@@ -23,6 +25,8 @@
             print 'Is created'
         else:
             print 'Is updated'
+    if kwargs['raw']:
+        print 'Is raw'
 
 def pre_delete_test(sender, instance, **kwargs):
     print 'pre_delete signal,', instance
@@ -50,6 +54,13 @@
 post_save signal, Tom Smith
 Is updated
 
+>>> p1.save(raw=True)
+pre_save signal, Tom Smith
+Is raw
+post_save signal, Tom Smith
+Is updated
+Is raw
+
 >>> p1.delete()
 pre_delete signal, Tom Smith
 instance.id is not None: True
