Django

Code

Changeset 6282

Show
Ignore:
Timestamp:
09/15/07 06:45:19 (10 months ago)
Author:
mtredinnick
Message:

Fixed #5355 -- Fixed data cleaning for DecimalField?.

In passing, fixed a problem with cleaning in IntegerField?.

Includes tests from PhiR.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/newforms/fields.py

    r6175 r6282  
    145145            return None 
    146146        try: 
    147             value = int(value
     147            value = int(str(value)
    148148        except (ValueError, TypeError): 
    149149            raise ValidationError(ugettext(u'Enter a whole number.')) 
     
    193193        if not self.required and value in EMPTY_VALUES: 
    194194            return None 
    195         value = value.strip() 
     195        value = str(value).strip() 
    196196        try: 
    197197            value = Decimal(value) 
  • django/trunk/tests/regressiontests/forms/tests.py

    r6273 r6282  
    962962... 
    963963ValidationError: [u'Enter a whole number.'] 
     964>>> f.clean(42) 
     96542 
     966>>> f.clean(3.14) 
     967Traceback (most recent call last): 
     968... 
     969ValidationError: [u'Enter a whole number.'] 
    964970>>> f.clean('1 ') 
    9659711 
     
    10851091>>> f.clean('3.14') 
    108610923.1400000000000001 
     1093>>> f.clean(3.14) 
     10943.1400000000000001 
     1095>>> f.clean(42) 
     109642.0 
    10871097>>> f.clean('a') 
    10881098Traceback (most recent call last): 
     
    11421152Decimal("23") 
    11431153>>> f.clean('3.14') 
     1154Decimal("3.14") 
     1155>>> f.clean(3.14) 
     1156Decimal("3.14") 
     1157>>> f.clean(Decimal('3.14')) 
    11441158Decimal("3.14") 
    11451159>>> f.clean('a')