diff --git a/django/conf/global_settings.py b/django/conf/global_settings.py
index 1ab9b49..8e45d8f 100644
--- a/django/conf/global_settings.py
+++ b/django/conf/global_settings.py
@@ -358,6 +358,7 @@ TIME_INPUT_FORMATS = (
 # * Note that these format strings are different from the ones to display dates
 DATETIME_INPUT_FORMATS = (
     '%Y-%m-%d %H:%M:%S',     # '2006-10-25 14:30:59'
+    '%Y-%m-%d %H:%M:%S.%f',  # '2006-10-25 14:30:59.000200'
     '%Y-%m-%d %H:%M',        # '2006-10-25 14:30'
     '%Y-%m-%d',              # '2006-10-25'
     '%m/%d/%Y %H:%M:%S',     # '10/25/2006 14:30:59'
diff --git a/django/forms/fields.py b/django/forms/fields.py
index a5ea81d..612abec 100644
--- a/django/forms/fields.py
+++ b/django/forms/fields.py
@@ -6,6 +6,7 @@ import copy
 import datetime
 import os
 import re
+import sys
 import time
 import urlparse
 import warnings
@@ -335,6 +336,15 @@ class BaseTemporalField(Field):
         # If unicode, try to strptime against each input format.
         if isinstance(value, unicode):
             for format in self.input_formats:
+                if format.endswith('.%f') and sys.version_info[:2]<=(2,6):
+                    if not value.count('.')==1:
+                        continue
+                    try: 
+                        value, usecs = value.rsplit('.', 1) 
+                        usecs = int(usecs) 
+                        return datetime.datetime(*time.strptime(value, format[:-3])[:6]+(usecs,))
+                    except ValueError: 
+                        continue
                 try:
                     return self.strptime(value, format)
                 except ValueError:
diff --git a/tests/regressiontests/forms/tests/fields.py b/tests/regressiontests/forms/tests/fields.py
index 2303b4e..03ad5bb 100644
--- a/tests/regressiontests/forms/tests/fields.py
+++ b/tests/regressiontests/forms/tests/fields.py
@@ -387,6 +387,7 @@ class FieldsTests(TestCase):
         self.assertEqual(datetime.datetime(2006, 10, 25, 14, 30), f.clean('10/25/2006 14:30:00'))
         self.assertEqual(datetime.datetime(2006, 10, 25, 14, 30), f.clean('10/25/2006 14:30'))
         self.assertEqual(datetime.datetime(2006, 10, 25, 0, 0), f.clean('10/25/2006'))
+        self.assertEqual(datetime.datetime(2006, 10, 25, 14, 30, 45, 200), f.clean('2006-10-25 14:30:45.000200'))
         self.assertEqual(datetime.datetime(2006, 10, 25, 14, 30, 45), f.clean('10/25/06 14:30:45'))
         self.assertEqual(datetime.datetime(2006, 10, 25, 14, 30), f.clean('10/25/06 14:30:00'))
         self.assertEqual(datetime.datetime(2006, 10, 25, 14, 30), f.clean('10/25/06 14:30'))
