Merge remote branch 'wpjunior/genericembeddedfield' into genericembeddedfield

This commit is contained in:
Ross Lawley
2011-09-09 06:07:07 -07:00
2 changed files with 52 additions and 1 deletions

View File

@@ -1489,5 +1489,30 @@ class FieldTest(unittest.TestCase):
self.assertEqual(c['next'], 10)
def test_generic_embedded_document(self):
class Car(EmbeddedDocument):
name = StringField()
class Dish(EmbeddedDocument):
food = StringField(required=True)
number = IntField()
class Person(Document):
name = StringField()
like = GenericEmbeddedDocumentField()
person = Person(name='Test User')
person.like = Car(name='Fiat')
person.save()
person = Person.objects.first()
self.assertTrue(isinstance(person.like, Car))
person.like = Dish(food="arroz", number=15)
person.save()
person = Person.objects.first()
self.assertTrue(isinstance(person.like, Dish))
if __name__ == '__main__':
unittest.main()