Skip to content

Commit a4fff15

Browse files
committed
minor improvement in code
1 parent 9ffe0bc commit a4fff15

File tree

3 files changed

+11
-19
lines changed

3 files changed

+11
-19
lines changed

mongoengine/base/fields.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import operator
2-
import warnings
32
import weakref
43

54
from bson import DBRef, ObjectId, SON
@@ -20,7 +19,7 @@ class BaseField:
2019
.. versionchanged:: 0.5 - added verbose and help text
2120
"""
2221

23-
name = None
22+
name = None # set in TopLevelDocumentMetaclass
2423
_geo_index = False
2524
_auto_gen = False # Call `generate` to generate a value
2625
_auto_dereference = True
@@ -269,7 +268,9 @@ class ComplexBaseField(BaseField):
269268
.. versionadded:: 0.5
270269
"""
271270

272-
field = None
271+
def __init__(self, field=None, **kwargs):
272+
self.field = field
273+
super().__init__(**kwargs)
273274

274275
def __get__(self, instance, owner):
275276
"""Descriptor to automatically dereference references."""

mongoengine/document.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import re
2-
import warnings
32

43
from bson.dbref import DBRef
54
import pymongo

mongoengine/fields.py

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
from mongoengine.connection import DEFAULT_CONNECTION_NAME, get_db
3737
from mongoengine.document import Document, EmbeddedDocument
3838
from mongoengine.errors import DoesNotExist, InvalidQueryError, ValidationError
39-
from mongoengine.mongodb_support import MONGODB_36, get_mongodb_version
4039
from mongoengine.queryset import DO_NOTHING
4140
from mongoengine.queryset.base import BaseQuerySet
4241
from mongoengine.queryset.transform import STRING_OPERATORS
@@ -546,11 +545,11 @@ def to_mongo(self, value):
546545
if callable(value):
547546
return value()
548547

549-
if not isinstance(value, str):
548+
if isinstance(value, str):
549+
return self._parse_datetime(value)
550+
else:
550551
return None
551552

552-
return self._parse_datetime(value)
553-
554553
def _parse_datetime(self, value):
555554
# Attempt to parse a datetime from a string
556555
value = value.strip()
@@ -913,10 +912,9 @@ class ListField(ComplexBaseField):
913912
"""
914913

915914
def __init__(self, field=None, max_length=None, **kwargs):
916-
self.field = field
917915
self.max_length = max_length
918916
kwargs.setdefault("default", lambda: [])
919-
super().__init__(**kwargs)
917+
super().__init__(field=field, **kwargs)
920918

921919
def __get__(self, instance, owner):
922920
if instance is None:
@@ -1004,14 +1002,9 @@ class SortedListField(ListField):
10041002
.. versionchanged:: 0.6 - added reverse keyword
10051003
"""
10061004

1007-
_ordering = None
1008-
_order_reverse = False
1009-
10101005
def __init__(self, field, **kwargs):
1011-
if "ordering" in kwargs.keys():
1012-
self._ordering = kwargs.pop("ordering")
1013-
if "reverse" in kwargs.keys():
1014-
self._order_reverse = kwargs.pop("reverse")
1006+
self._ordering = kwargs.pop("ordering", None)
1007+
self._order_reverse = kwargs.pop("reverse", False)
10151008
super().__init__(field, **kwargs)
10161009

10171010
def to_mongo(self, value, use_db_field=True, fields=None):
@@ -1064,11 +1057,10 @@ class DictField(ComplexBaseField):
10641057
"""
10651058

10661059
def __init__(self, field=None, *args, **kwargs):
1067-
self.field = field
10681060
self._auto_dereference = False
10691061

10701062
kwargs.setdefault("default", lambda: {})
1071-
super().__init__(*args, **kwargs)
1063+
super().__init__(*args, field=field, **kwargs)
10721064

10731065
def validate(self, value):
10741066
"""Make sure that a list of valid fields is being used."""

0 commit comments

Comments
 (0)