2007-07-31 01:25:35 +08:00
|
|
|
"""
|
|
|
|
>>> from django.db.models.fields import *
|
|
|
|
|
|
|
|
# DecimalField
|
|
|
|
|
|
|
|
>>> f = DecimalField()
|
|
|
|
|
|
|
|
>>> f.to_python(3)
|
|
|
|
Decimal("3")
|
|
|
|
|
|
|
|
>>> f.to_python("3.14")
|
|
|
|
Decimal("3.14")
|
|
|
|
|
|
|
|
>>> f.to_python("abc")
|
|
|
|
Traceback (most recent call last):
|
|
|
|
...
|
|
|
|
ValidationError: [u'This value must be a decimal number.']
|
2008-06-30 18:07:06 +08:00
|
|
|
|
|
|
|
>>> f = DecimalField(max_digits=5, decimal_places=1)
|
|
|
|
>>> x = f.to_python(2)
|
|
|
|
>>> y = f.to_python('2.6')
|
|
|
|
|
2008-07-29 13:09:29 +08:00
|
|
|
>>> f._format(x)
|
2008-06-30 18:07:06 +08:00
|
|
|
u'2.0'
|
2008-07-29 13:09:29 +08:00
|
|
|
>>> f._format(y)
|
2008-06-30 18:07:06 +08:00
|
|
|
u'2.6'
|
2008-07-29 13:09:29 +08:00
|
|
|
>>> f._format(None)
|
2008-06-30 18:07:06 +08:00
|
|
|
>>> f.get_db_prep_lookup('exact', None)
|
|
|
|
[None]
|
|
|
|
|
2008-07-29 13:09:29 +08:00
|
|
|
# DateTimeField and TimeField to_python should support usecs:
|
|
|
|
>>> f = DateTimeField()
|
|
|
|
>>> f.to_python('2001-01-02 03:04:05.000006')
|
|
|
|
datetime.datetime(2001, 1, 2, 3, 4, 5, 6)
|
|
|
|
>>> f.to_python('2001-01-02 03:04:05.999999')
|
|
|
|
datetime.datetime(2001, 1, 2, 3, 4, 5, 999999)
|
|
|
|
|
|
|
|
>>> f = TimeField()
|
|
|
|
>>> f.to_python('01:02:03.000004')
|
|
|
|
datetime.time(1, 2, 3, 4)
|
|
|
|
>>> f.to_python('01:02:03.999999')
|
|
|
|
datetime.time(1, 2, 3, 999999)
|
|
|
|
|
|
|
|
|
2007-07-31 01:25:35 +08:00
|
|
|
"""
|