44import datetime
55import dateutil .parser
66from decimal import Decimal
7+ import six
78
89from .base import BaseField
910from .utils import EMPTY_VALUES , undefined
@@ -56,7 +57,7 @@ class DateField(BaseField):
5657 def prepare (self , data ):
5758 if isinstance (data , datetime .date ):
5859 return data
59- elif isinstance (data , str ):
60+ elif isinstance (data , six . string_types ):
6061 return dateutil .parser .parse (data ).date ()
6162 else :
6263 raise ValueError ("Invalid date argument" )
@@ -66,7 +67,7 @@ class DateTimeField(BaseField):
6667 def prepare (self , data ):
6768 if isinstance (data , datetime .datetime ):
6869 return data
69- elif isinstance (data , str ):
70+ elif isinstance (data , six . string_types ):
7071 return dateutil .parser .parse (data )
7172 else :
7273 raise ValueError ("Invalid date argument" )
@@ -95,7 +96,7 @@ class TimeField(BaseField):
9596 def prepare (self , data ):
9697 if isinstance (data , datetime .time ):
9798 return data
98- elif isinstance (data , str ):
99+ elif isinstance (data , six . string_types ):
99100 return dateutil .parser .parse (data ).timetz ()
100101 else :
101102 raise ValueError ("Invalid time argument" )
0 commit comments