Fixed inconsistency handling None values field attrs
fixes hmarr/mongoengine#505
This commit is contained in:
parent
3d0d2f48ad
commit
9fecf2b303
@ -4,6 +4,7 @@ Changelog
|
||||
|
||||
Changes in 0.6.X
|
||||
================
|
||||
- Fixed inconsistency handling None values field attrs
|
||||
- Fixed map_field embedded db_field issue
|
||||
- Fixed .save() _delta issue with DbRefs
|
||||
- Fixed Django TestCase
|
||||
|
@ -833,13 +833,6 @@ class BaseDocument(object):
|
||||
if hasattr(self, '_changed_fields'):
|
||||
self._mark_as_changed(name)
|
||||
|
||||
# Handle None values for required fields
|
||||
if value is None and name in getattr(self, '_fields', {}):
|
||||
self._data[name] = value
|
||||
if hasattr(self, '_changed_fields'):
|
||||
self._mark_as_changed(name)
|
||||
return
|
||||
|
||||
if not self._created and name in self._meta.get('shard_key', tuple()):
|
||||
from queryset import OperationError
|
||||
raise OperationError("Shard Keys are immutable. Tried to update %s" % name)
|
||||
|
@ -369,7 +369,7 @@ class ComplexDateTimeField(StringField):
|
||||
return self._convert_from_string(data)
|
||||
|
||||
def __set__(self, instance, value):
|
||||
value = self._convert_from_datetime(value)
|
||||
value = self._convert_from_datetime(value) if value else value
|
||||
return super(ComplexDateTimeField, self).__set__(instance, value)
|
||||
|
||||
def validate(self, value):
|
||||
|
@ -82,7 +82,6 @@ class FieldTest(unittest.TestCase):
|
||||
|
||||
# Retrive data from db and verify it.
|
||||
ret = HandleNoneFields.objects.all()[0]
|
||||
|
||||
self.assertEqual(ret.str_fld, None)
|
||||
self.assertEqual(ret.int_fld, None)
|
||||
self.assertEqual(ret.flt_fld, None)
|
||||
|
Loading…
x
Reference in New Issue
Block a user