mirror of
https://github.com/django/django.git
synced 2024-12-26 02:56:25 +00:00
54f41e3507
fields (the latter was causing problems). This allows these values in URLs (e.g. the admin filtering). Not an ideal solution to the problem, but will do the job for the time being. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8691 bcc190cf-cafb-0310-a4f2-bffc1f526a37
76 lines
1.6 KiB
Python
76 lines
1.6 KiB
Python
"""
|
|
>>> from django.db.models.fields import *
|
|
>>> try:
|
|
... from decimal import Decimal
|
|
... except ImportError:
|
|
... from django.utils._decimal import Decimal
|
|
|
|
# DecimalField
|
|
|
|
>>> f = DecimalField(max_digits=4, decimal_places=2)
|
|
|
|
>>> f.to_python(3) == Decimal("3")
|
|
True
|
|
|
|
>>> f.to_python("3.14") == Decimal("3.14")
|
|
True
|
|
|
|
>>> f.to_python("abc")
|
|
Traceback (most recent call last):
|
|
...
|
|
ValidationError: This value must be a decimal number.
|
|
|
|
>>> f = DecimalField(max_digits=5, decimal_places=1)
|
|
>>> x = f.to_python(2)
|
|
>>> y = f.to_python('2.6')
|
|
|
|
>>> f._format(x)
|
|
u'2.0'
|
|
>>> f._format(y)
|
|
u'2.6'
|
|
>>> f._format(None)
|
|
>>> f.get_db_prep_lookup('exact', None)
|
|
[None]
|
|
|
|
# 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)
|
|
|
|
# Boolean and null boolean fields
|
|
>>> f = BooleanField()
|
|
>>> for val in (True, '1', 1):
|
|
... f.get_db_prep_lookup('exact', val)
|
|
[True]
|
|
[True]
|
|
[True]
|
|
>>> for val in (False, '0', 0):
|
|
... f.get_db_prep_lookup('exact', val)
|
|
[False]
|
|
[False]
|
|
[False]
|
|
|
|
>>> f = NullBooleanField()
|
|
>>> for val in (True, '1', 1):
|
|
... f.get_db_prep_lookup('exact', val)
|
|
[True]
|
|
[True]
|
|
[True]
|
|
>>> for val in (False, '0', 0):
|
|
... f.get_db_prep_lookup('exact', val)
|
|
[False]
|
|
[False]
|
|
[False]
|
|
>>> f.get_db_prep_lookup('exact', None)
|
|
[None]
|
|
|
|
"""
|