Allow ReferenceFields to take ObjectIds

This commit is contained in:
Richard Fortescue-Webb
2017-03-29 10:34:50 +01:00
parent b78010aa94
commit 58f293fef3
2 changed files with 22 additions and 2 deletions

View File

@@ -998,8 +998,8 @@ class ReferenceField(BaseField):
def validate(self, value):
if not isinstance(value, (self.document_type, DBRef)):
self.error('A ReferenceField only accepts DBRef or documents')
if not isinstance(value, (self.document_type, DBRef, ObjectId)):
self.error('A ReferenceField only accepts DBRef, ObjectId or documents')
if isinstance(value, Document) and value.id is None:
self.error('You can only reference documents once they have been '