Fixed weakref being valid after reload (#374)
This commit is contained in:
parent
e6374ab425
commit
9867e918fa
@ -4,6 +4,7 @@ Changelog
|
|||||||
|
|
||||||
Changes in 0.8.3
|
Changes in 0.8.3
|
||||||
================
|
================
|
||||||
|
- Fixed weakref being valid after reload (#374)
|
||||||
- Fixed queryset.get() respecting no_dereference (#373)
|
- Fixed queryset.get() respecting no_dereference (#373)
|
||||||
- Added full_result kwarg to update (#380)
|
- Added full_result kwarg to update (#380)
|
||||||
|
|
||||||
|
@ -480,6 +480,7 @@ class Document(BaseDocument):
|
|||||||
value = [self._reload(key, v) for v in value]
|
value = [self._reload(key, v) for v in value]
|
||||||
value = BaseList(value, self, key)
|
value = BaseList(value, self, key)
|
||||||
elif isinstance(value, (EmbeddedDocument, DynamicEmbeddedDocument)):
|
elif isinstance(value, (EmbeddedDocument, DynamicEmbeddedDocument)):
|
||||||
|
value._instance = None
|
||||||
value._changed_fields = []
|
value._changed_fields = []
|
||||||
return value
|
return value
|
||||||
|
|
||||||
|
@ -1613,6 +1613,32 @@ class QuerySetTest(unittest.TestCase):
|
|||||||
self.assertEqual(message.authors[1].name, "Ross")
|
self.assertEqual(message.authors[1].name, "Ross")
|
||||||
self.assertEqual(message.authors[2].name, "Adam")
|
self.assertEqual(message.authors[2].name, "Adam")
|
||||||
|
|
||||||
|
def test_reload_embedded_docs_instance(self):
|
||||||
|
|
||||||
|
class SubDoc(EmbeddedDocument):
|
||||||
|
val = IntField()
|
||||||
|
|
||||||
|
class Doc(Document):
|
||||||
|
embedded = EmbeddedDocumentField(SubDoc)
|
||||||
|
|
||||||
|
doc = Doc(embedded=SubDoc(val=0)).save()
|
||||||
|
doc.reload()
|
||||||
|
|
||||||
|
self.assertEqual(doc.pk, doc.embedded._instance.pk)
|
||||||
|
|
||||||
|
def test_reload_list_embedded_docs_instance(self):
|
||||||
|
|
||||||
|
class SubDoc(EmbeddedDocument):
|
||||||
|
val = IntField()
|
||||||
|
|
||||||
|
class Doc(Document):
|
||||||
|
embedded = ListField(EmbeddedDocumentField(SubDoc))
|
||||||
|
|
||||||
|
doc = Doc(embedded=[SubDoc(val=0)]).save()
|
||||||
|
doc.reload()
|
||||||
|
|
||||||
|
self.assertEqual(doc.pk, doc.embedded[0]._instance.pk)
|
||||||
|
|
||||||
def test_order_by(self):
|
def test_order_by(self):
|
||||||
"""Ensure that QuerySets may be ordered.
|
"""Ensure that QuerySets may be ordered.
|
||||||
"""
|
"""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user