@@ -556,11 +556,11 @@ def to_mongo(self, value):
556556 if callable (value ):
557557 return value ()
558558
559- if not isinstance (value , str ):
559+ if isinstance (value , str ):
560+ return self ._parse_datetime (value )
561+ else :
560562 return None
561563
562- return self ._parse_datetime (value )
563-
564564 @staticmethod
565565 def _parse_datetime (value ):
566566 # Attempt to parse a datetime from a string
@@ -923,10 +923,9 @@ class ListField(ComplexBaseField):
923923 """
924924
925925 def __init__ (self , field = None , max_length = None , ** kwargs ):
926- self .field = field
927926 self .max_length = max_length
928927 kwargs .setdefault ("default" , lambda : [])
929- super ().__init__ (** kwargs )
928+ super ().__init__ (field = field , ** kwargs )
930929
931930 def __get__ (self , instance , owner ):
932931 if instance is None :
@@ -1008,14 +1007,9 @@ class SortedListField(ListField):
10081007 to perform a push operation.
10091008 """
10101009
1011- _ordering = None
1012- _order_reverse = False
1013-
10141010 def __init__ (self , field , ** kwargs ):
1015- if "ordering" in kwargs .keys ():
1016- self ._ordering = kwargs .pop ("ordering" )
1017- if "reverse" in kwargs .keys ():
1018- self ._order_reverse = kwargs .pop ("reverse" )
1011+ self ._ordering = kwargs .pop ("ordering" , None )
1012+ self ._order_reverse = kwargs .pop ("reverse" , False )
10191013 super ().__init__ (field , ** kwargs )
10201014
10211015 def to_mongo (self , value , use_db_field = True , fields = None ):
@@ -1065,11 +1059,10 @@ class DictField(ComplexBaseField):
10651059 """
10661060
10671061 def __init__ (self , field = None , * args , ** kwargs ):
1068- self .field = field
10691062 self ._auto_dereference = False
10701063
10711064 kwargs .setdefault ("default" , lambda : {})
1072- super ().__init__ (* args , ** kwargs )
1065+ super ().__init__ (* args , field = field , ** kwargs )
10731066
10741067 def validate (self , value ):
10751068 """Make sure that a list of valid fields is being used."""
0 commit comments