diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py
index b9604f5..93a61f3 100644
--- a/django/db/models/fields/__init__.py
+++ b/django/db/models/fields/__init__.py
@@ -444,6 +444,14 @@ class Field(object):
         "Returns the value of this field in the given model instance."
         return getattr(obj, self.attname)
 
+    def __repr__(self):
+        """
+        Displays the module, class and name of the field.
+        """
+        return '<%s.%s %s>' % (self.__class__.__module__,
+                               self.__class__.__name__,
+                               getattr(self, 'name', None))
+
 class AutoField(Field):
     description = _("Integer")
 
diff --git a/tests/regressiontests/model_fields/tests.py b/tests/regressiontests/model_fields/tests.py
index 3ec9d7a..cc13be7 100644
--- a/tests/regressiontests/model_fields/tests.py
+++ b/tests/regressiontests/model_fields/tests.py
@@ -47,6 +47,13 @@ class BasicFieldTests(test.TestCase):
             nullboolean.full_clean()
         except ValidationError, e:
             self.fail("NullBooleanField failed validation with value of None: %s" % e.messages)
+    
+    def test_field_repr(self):
+        """
+        Regression test for #5931: __repr__ of a field also displays its name
+        """
+        f = Foo._meta.get_field('a') 
+        self.assertEqual(repr(f), '<django.db.models.fields.CharField a>') 
 
 class DecimalFieldTests(test.TestCase):
     def test_to_python(self):
