Skip to content

Commit fb8f02d

Browse files
authored
Merge pull request #2441 from bagerard/remove_useless_cls_var
minor improvement in code
2 parents 87babaa + a025199 commit fb8f02d

File tree

2 files changed

+11
-17
lines changed

2 files changed

+11
-17
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
@@ -18,7 +17,7 @@ class BaseField:
1817
may be added to subclasses of `Document` to define a document's schema.
1918
"""
2019

21-
name = None
20+
name = None # set in TopLevelDocumentMetaclass
2221
_geo_index = False
2322
_auto_gen = False # Call `generate` to generate a value
2423
_auto_dereference = True
@@ -265,7 +264,9 @@ class ComplexBaseField(BaseField):
265264
items in a list / dict rather than one at a time.
266265
"""
267266

268-
field = None
267+
def __init__(self, field=None, **kwargs):
268+
self.field = field
269+
super().__init__(**kwargs)
269270

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

mongoengine/fields.py

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)