﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
4518	Null string in DecimalField results in error: decimal.py  _raise_error, line 2267	Richard House <Richard.House@…>	Adrian Holovaty	"I am running the django web server/sqlite on WinXP with Python 2.4 and the latest django SVN version. In keeping up with the FloatField to DecimalField changes I came across an error in both the admin pages and user pages with one of my apps.
In the debug page (excellent feature), an InvalidOperation was being raised at location ""C:\Python24\lib\decimal.py in _raise_error, line 2267"".

I traced the cause to some of my DecimalField values had empty string values at some stage of the process. I have blank=True and null=True on that field. A change to typecast_decimal function at line 96 of C:
\Python24\Lib\site-packages\django\db\backends\util.py solved the problem.

{{{
def typecast_decimal(s):
    if s is None:
        return None
    return decimal.Decimal(s)
}}}

became:

{{{
def typecast_decimal(s):
    if s is None or s == '':  ### Change
        return None
    return decimal.Decimal(s)
}}}

Suggested for a SVN change.
"		closed	Core (Other)	dev		fixed	DecimalField		Unreviewed	0	0	0	0	0	0
