Changeset 7797
- Timestamp:
- 06/30/08 05:07:06 (2 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/db/models/fields/__init__.py
r7794 r7797 696 696 697 697 def _format(self, value): 698 if isinstance(value, basestring) :698 if isinstance(value, basestring) or value is None: 699 699 return value 700 700 else: … … 717 717 718 718 def get_db_prep_save(self, value): 719 if value is not None: 720 value = self._format(value) 719 value = self._format(value) 721 720 return super(DecimalField, self).get_db_prep_save(value) 722 721 django/trunk/tests/regressiontests/model_fields/tests.py
r5876 r7797 16 16 ... 17 17 ValidationError: [u'This value must be a decimal number.'] 18 19 >>> f = DecimalField(max_digits=5, decimal_places=1) 20 >>> x = f.to_python(2) 21 >>> y = f.to_python('2.6') 22 23 >>> f.get_db_prep_save(x) 24 u'2.0' 25 >>> f.get_db_prep_save(y) 26 u'2.6' 27 >>> f.get_db_prep_save(None) 28 >>> f.get_db_prep_lookup('exact', x) 29 [u'2.0'] 30 >>> f.get_db_prep_lookup('exact', y) 31 [u'2.6'] 32 >>> f.get_db_prep_lookup('exact', None) 33 [None] 34 18 35 """
