Merge commit master into bugfix-save-sharding

This commit is contained in:
Felix Schultheiß
2020-11-03 10:05:31 +01:00
38 changed files with 263 additions and 45 deletions

View File

@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
import unittest
from mongoengine import *

View File

@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
import unittest
from bson import SON
@@ -546,6 +545,7 @@ class TestDelta(MongoDBTestCase):
{},
)
doc.save()
assert doc._get_changed_fields() == []
doc = doc.reload(10)
assert doc.embedded_field.list_field[0] == "1"
@@ -777,9 +777,7 @@ class TestDelta(MongoDBTestCase):
MyDoc.drop_collection()
mydoc = MyDoc(
name="testcase1", subs={"a": {"b": EmbeddedDoc(name="foo")}}
).save()
MyDoc(name="testcase1", subs={"a": {"b": EmbeddedDoc(name="foo")}}).save()
mydoc = MyDoc.objects.first()
subdoc = mydoc.subs["a"]["b"]
@@ -791,6 +789,35 @@ class TestDelta(MongoDBTestCase):
mydoc._clear_changed_fields()
assert mydoc._get_changed_fields() == []
def test_nested_nested_fields_db_field_set__gets_mark_as_changed_and_cleaned(self):
class EmbeddedDoc(EmbeddedDocument):
name = StringField(db_field="db_name")
class MyDoc(Document):
embed = EmbeddedDocumentField(EmbeddedDoc, db_field="db_embed")
name = StringField(db_field="db_name")
MyDoc.drop_collection()
MyDoc(name="testcase1", embed=EmbeddedDoc(name="foo")).save()
mydoc = MyDoc.objects.first()
mydoc.embed.name = "foo1"
assert mydoc.embed._get_changed_fields() == ["db_name"]
assert mydoc._get_changed_fields() == ["db_embed.db_name"]
mydoc = MyDoc.objects.first()
embed = EmbeddedDoc(name="foo2")
embed.name = "bar"
mydoc.embed = embed
assert embed._get_changed_fields() == ["db_name"]
assert mydoc._get_changed_fields() == ["db_embed"]
mydoc._clear_changed_fields()
assert mydoc._get_changed_fields() == []
def test_lower_level_mark_as_changed(self):
class EmbeddedDoc(EmbeddedDocument):
name = StringField()

View File

@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
import unittest
from datetime import datetime

View File

@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
import unittest
import warnings

View File

@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
import os
import pickle
import unittest

View File

@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
import unittest
from datetime import datetime