summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorBrian Rosner <brosner@gmail.com>2009-02-11 20:14:24 +0000
committerBrian Rosner <brosner@gmail.com>2009-02-11 20:14:24 +0000
commit5db8dc357323c1b87c8b110f25d3dbadeaa47c4e (patch)
tree5120d4fa51e188d7bf1b71073868d33e05ceacb9 /django
parentc2838753894cbed7ee73c0fa85efa6b87c605598 (diff)
[1.0.X] Fixed #5903 -- DecimalField.get_default() now correctly returns a Decimal object when the model instance was not retrieved from the database. Thanks Justin Driscoll and pigletto.
Backport of r9823 from trunk. git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.0.X@9824 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django')
-rw-r--r--django/utils/encoding.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/django/utils/encoding.py b/django/utils/encoding.py
index dbd2c7a211..7e87b05c79 100644
--- a/django/utils/encoding.py
+++ b/django/utils/encoding.py
@@ -1,8 +1,15 @@
import types
import urllib
import datetime
+
from django.utils.functional import Promise
+try:
+ from decimal import Decimal
+except ImportError:
+ from django.utils._decimal import Decimal # Python 2.3 fallback
+
+
class DjangoUnicodeDecodeError(UnicodeDecodeError):
def __init__(self, obj, *args):
self.obj = obj
@@ -41,7 +48,7 @@ def force_unicode(s, encoding='utf-8', strings_only=False, errors='strict'):
If strings_only is True, don't convert (some) non-string-like objects.
"""
- if strings_only and isinstance(s, (types.NoneType, int, long, datetime.datetime, datetime.date, datetime.time, float)):
+ if strings_only and isinstance(s, (types.NoneType, int, long, datetime.datetime, datetime.date, datetime.time, float, Decimal)):
return s
try:
if not isinstance(s, basestring,):