Merge branch 'ref_field_to_mongo_bug' of https://github.com/yakxxx/mongoengine
Conflicts: AUTHORS
This commit is contained in:
commit
d7fd6a4628
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):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user