diff -r 70e8e4955be0 django/db/models/fields/__init__.py
--- a/django/db/models/fields/__init__.py	Thu Feb 11 15:59:08 2010 +0200
+++ b/django/db/models/fields/__init__.py	Fri Feb 12 10:37:25 2010 +0200
@@ -138,6 +138,20 @@
             items.append((k,v))
         obj_dict['_translated_keys'] = translated_keys
         obj_dict['error_messages'] = dict(items)
+        
+        translated_items = []
+        if isinstance(self.verbose_name, Promise):
+            args = getattr(self.verbose_name, '_proxy____args', None)
+            if args:
+                obj_dict['verbose_name'] = args[0]
+                translated_items.append('verbose_name')
+            
+        if isinstance(self.help_text, Promise):
+            args = getattr(self.help_text, '_proxy____args', None)
+            if args:
+                obj_dict['help_text'] = args[0]
+                translated_items.append('help_text')
+        obj_dict['_translated_items'] = translated_items
         return obj_dict
 
     def __setstate__(self, obj_dict):
@@ -145,10 +159,13 @@
         Unpickling support.
         """
         translated_keys = obj_dict.pop('_translated_keys')
+        translated_items = obj_dict.pop('_translated_items')        
         self.__dict__.update(obj_dict)
         for k in translated_keys:
             self.error_messages[k] = _(self.error_messages[k])
-
+        for k in translated_items:
+            self.__dict__[k] = _(self.__dict__[k])
+            
     def __cmp__(self, other):
         # This is needed because bisect does not take a comparison function.
         return cmp(self.creation_counter, other.creation_counter)
