Fixed cascade save edge case

refs MongoEngine/mongoengine#40
This commit is contained in:
Ross Lawley
2012-07-19 11:52:26 +01:00
parent 1e51180d42
commit ae39ed94c9
3 changed files with 30 additions and 0 deletions

View File

@@ -3186,5 +3186,29 @@ name: Field is required ("name")"""
p = Person(age=15)
self.assertRaises(ValidationError, p.validate)
def test_cascaded_save_wrong_reference(self):
class ADocument(Document):
val = IntField()
class BDocument(Document):
a = ReferenceField(ADocument)
ADocument.drop_collection()
BDocument.drop_collection()
a = ADocument()
a.val = 15
a.save()
b = BDocument()
b.a = a
b.save()
a.delete()
b = BDocument.objects.first()
b.save(cascade=True)
if __name__ == '__main__':
unittest.main()