Merge branch 'ref_field_to_mongo_bug' of https://github.com/yakxxx/mongoengine
Conflicts: AUTHORS
This commit is contained in:
		
							
								
								
									
										1
									
								
								AUTHORS
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								AUTHORS
									
									
									
									
									
								
							@@ -126,3 +126,4 @@ that much better:
 | 
				
			|||||||
 * Garry Polley
 | 
					 * Garry Polley
 | 
				
			||||||
 * Adrian Scott
 | 
					 * Adrian Scott
 | 
				
			||||||
 * Peter Teichman
 | 
					 * Peter Teichman
 | 
				
			||||||
 | 
					 * Jakub Kot
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -778,7 +778,7 @@ class ReferenceField(BaseField):
 | 
				
			|||||||
    def to_mongo(self, document):
 | 
					    def to_mongo(self, document):
 | 
				
			||||||
        if isinstance(document, DBRef):
 | 
					        if isinstance(document, DBRef):
 | 
				
			||||||
            if not self.dbref:
 | 
					            if not self.dbref:
 | 
				
			||||||
                return DBRef.id
 | 
					                return document.id
 | 
				
			||||||
            return document
 | 
					            return document
 | 
				
			||||||
        elif not self.dbref and isinstance(document, basestring):
 | 
					        elif not self.dbref and isinstance(document, basestring):
 | 
				
			||||||
            return document
 | 
					            return document
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1105,6 +1105,16 @@ class FieldTest(unittest.TestCase):
 | 
				
			|||||||
        p = Person.objects.get(name="Ross")
 | 
					        p = Person.objects.get(name="Ross")
 | 
				
			||||||
        self.assertEqual(p.parent, p1)
 | 
					        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.assertTrue(isinstance(mongoed['parent'], ObjectId))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def test_objectid_reference_fields(self):
 | 
					    def test_objectid_reference_fields(self):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        class Person(Document):
 | 
					        class Person(Document):
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user