Index: django/core/management.py
===================================================================
--- django/core/management.py	(revision 2900)
+++ django/core/management.py	(working copy)
@@ -168,7 +168,13 @@
                     # We haven't yet created the table to which this field
                     # is related, so save it for later.
                     pr = pending_references.setdefault(f.rel.to, []).append((klass, f))
-            table_output.append(' '.join(field_output))
+            if f.default <> models.fields.NOT_PROVIDED:
+                try:
+                    escaped_string =  django.db.backend.escapechars(f.default)
+                    field_output.append(style.SQL_KEYWORD("DEFAULT '%s'" % (escaped_string,)))
+                except NotImplemented:
+                    pass
+        table_output.append(' '.join(field_output))
     if opts.order_with_respect_to:
         table_output.append(style.SQL_FIELD(backend.quote_name('_order')) + ' ' + \
             style.SQL_COLTYPE(data_types['IntegerField']) + ' ' + \
Index: django/db/backends/ado_mssql/base.py
===================================================================
--- django/db/backends/ado_mssql/base.py	(revision 2900)
+++ django/db/backends/ado_mssql/base.py	(working copy)
@@ -111,6 +111,15 @@
     if lookup_type=='day':
         return "Convert(datetime, Convert(varchar(12), %s))" % field_name
 
+def escapechars(raw_str):
+    "Escapes problematic characters from SQL in a backend-specific way"
+    working_str = str(raw_str)
+    rawchars = ['"',"'"]
+    cookedchars = ['""',"''"]
+    for i in range(0,len(rawchars)):
+        working_str = working_str.replace(rawchars[i],cookedchars[i])
+    return working_str
+
 def get_limit_offset_sql(limit, offset=None):
     # TODO: This is a guess. Make sure this is correct.
     sql = "LIMIT %s" % limit
Index: django/db/backends/dummy/base.py
===================================================================
--- django/db/backends/dummy/base.py	(revision 2900)
+++ django/db/backends/dummy/base.py	(working copy)
@@ -28,6 +28,7 @@
 dictfetchone = complain
 dictfetchmany = complain
 dictfetchall = complain
+escapechars = complain
 get_last_insert_id = complain
 get_date_extract_sql = complain
 get_date_trunc_sql = complain
Index: django/db/backends/mysql/base.py
===================================================================
--- django/db/backends/mysql/base.py	(revision 2900)
+++ django/db/backends/mysql/base.py	(working copy)
@@ -139,6 +139,15 @@
         sql = "CAST(DATE_FORMAT(%s, '%s') AS DATETIME)" % (field_name, format_str)
     return sql
 
+def escapechars(raw_str):
+    "Escapes problematic characters from SQL in a backend-specific way"
+    working_str = str(raw_str)
+    rawchars = ['\\','"',"'"]
+    cookedchars = ['\\\\','\\"',"\\'"]
+    for i in range(0,len(rawchars)):
+        working_str = working_str.replace(rawchars[i],cookedchars[i])
+    return working_str
+
 def get_limit_offset_sql(limit, offset=None):
     sql = "LIMIT "
     if offset and offset != 0:
Index: django/db/backends/postgresql/base.py
===================================================================
--- django/db/backends/postgresql/base.py	(revision 2900)
+++ django/db/backends/postgresql/base.py	(working copy)
@@ -89,6 +89,15 @@
     # http://www.postgresql.org/docs/8.0/static/functions-datetime.html#FUNCTIONS-DATETIME-TRUNC
     return "DATE_TRUNC('%s', %s)" % (lookup_type, field_name)
 
+def escapechars(raw_str):
+    "Escapes problematic characters from SQL in a backend-specific way"
+    working_str = str(raw_str)
+    rawchars = ['\\','"',"'"]
+    cookedchars = ['\\\\','\\"',"''"]
+    for i in range(0,len(rawchars)):
+        working_str = working_str.replace(rawchars[i],cookedchars[i])
+    return working_str
+
 def get_limit_offset_sql(limit, offset=None):
     sql = "LIMIT %s" % limit
     if offset and offset != 0:
Index: django/db/backends/sqlite3/base.py
===================================================================
--- django/db/backends/sqlite3/base.py	(revision 2900)
+++ django/db/backends/sqlite3/base.py	(working copy)
@@ -123,6 +123,16 @@
 def get_drop_foreignkey_sql():
     return ""
 
+def escapechars(raw_str):
+    "Escapes problematic characters from SQL in a backend-specific way"
+    # sqlite will happily accept a variety of characters without complaint. Single-quotes, however, must be doubled.
+    working_str = str(raw_str)
+    rawchars = ["'",]
+    cookedchars = ["''",]
+    for i in range(0,len(rawchars)):
+        working_str = working_str.replace(rawchars[i],cookedchars[i])
+    return working_str
+
 def _sqlite_date_trunc(lookup_type, dt):
     try:
         dt = util.typecast_timestamp(dt)
@@ -152,3 +162,4 @@
     'istartswith': "LIKE %s ESCAPE '\\'",
     'iendswith': "LIKE %s ESCAPE '\\'",
 }
+
