Author: mtredinnick
Date: 2007-10-03 20:55:51 -0500 (Wed, 03 Oct 2007)
New Revision: 6453

Modified:
   django/trunk/django/db/models/fields/__init__.py
   django/trunk/tests/modeltests/basic/models.py
   django/trunk/tests/modeltests/field_defaults/models.py
   django/trunk/tests/regressiontests/i18n/models.py
Log:
Fixed #5641 -- Handle lazy translations correctly when used as default 
arguments. Thanks, permon.


Modified: django/trunk/django/db/models/fields/__init__.py
===================================================================
--- django/trunk/django/db/models/fields/__init__.py    2007-10-04 01:54:58 UTC 
(rev 6452)
+++ django/trunk/django/db/models/fields/__init__.py    2007-10-04 01:55:51 UTC 
(rev 6453)
@@ -238,7 +238,7 @@
         if self.default is not NOT_PROVIDED:
             if callable(self.default):
                 return self.default()
-            return self.default
+            return force_unicode(self.default, strings_only=True)
         if not self.empty_strings_allowed or (self.null and 
settings.DATABASE_ENGINE != 'oracle'):
             return None
         return ""

Modified: django/trunk/tests/modeltests/basic/models.py
===================================================================
--- django/trunk/tests/modeltests/basic/models.py       2007-10-04 01:54:58 UTC 
(rev 6452)
+++ django/trunk/tests/modeltests/basic/models.py       2007-10-04 01:55:51 UTC 
(rev 6453)
@@ -152,7 +152,7 @@
 >>> a6 = Article(pub_date=datetime(2005, 7, 31))
 >>> a6.save()
 >>> a6.headline
-'Default headline'
+u'Default headline'
 
 # For DateTimeFields, Django saves as much precision (in seconds) as you
 # give it.

Modified: django/trunk/tests/modeltests/field_defaults/models.py
===================================================================
--- django/trunk/tests/modeltests/field_defaults/models.py      2007-10-04 
01:54:58 UTC (rev 6452)
+++ django/trunk/tests/modeltests/field_defaults/models.py      2007-10-04 
01:55:51 UTC (rev 6453)
@@ -42,7 +42,7 @@
 
 # Access database columns via Python attributes.
 >>> a.headline
-'Default headline'
+u'Default headline'
 
 # make sure the two dates are sufficiently close
 >>> d = now - a.pub_date

Modified: django/trunk/tests/regressiontests/i18n/models.py
===================================================================
--- django/trunk/tests/regressiontests/i18n/models.py   2007-10-04 01:54:58 UTC 
(rev 6452)
+++ django/trunk/tests/regressiontests/i18n/models.py   2007-10-04 01:55:51 UTC 
(rev 6453)
@@ -0,0 +1,12 @@
+from django.db import models
+from django.utils.translation import ugettext_lazy as _
+
+class TestModel(models.Model):
+    text = models.CharField(max_length=10, default=_('Anything'))
+
+__test__ = {'API_TESTS': '''
+>>> tm = TestModel()
+>>> tm.save()
+'''
+}
+


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to