bug fix for RefferenceField.to_mongo when dbref=False
This commit is contained in:
		| @@ -777,7 +777,7 @@ class ReferenceField(BaseField): | ||||
|     def to_mongo(self, document): | ||||
|         if isinstance(document, DBRef): | ||||
|             if not self.dbref: | ||||
|                 return DBRef.id | ||||
|                 return document.id | ||||
|             return document | ||||
|         elif not self.dbref and isinstance(document, basestring): | ||||
|             return document | ||||
|   | ||||
| @@ -1105,6 +1105,15 @@ class FieldTest(unittest.TestCase): | ||||
|         p = Person.objects.get(name="Ross") | ||||
|         self.assertEqual(p.parent, p1) | ||||
|          | ||||
|     def test_dbref_to_mongo(self): | ||||
|         class Person(Document): | ||||
|             name = StringField() | ||||
|             parent = ReferenceField('self', dbref=False) | ||||
|      | ||||
|         p1 = Person._from_son({'name':"Yakxxx", 'parent': "50a234ea469ac1eda42d347d"}) | ||||
|         mongoed = p1.to_mongo() | ||||
|         self.assertIsInstance(mongoed['parent'], ObjectId) | ||||
|  | ||||
|     def test_objectid_reference_fields(self): | ||||
|  | ||||
|         class Person(Document): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user