fix-#397: Allow specifying the '_cls' as a field for indexes

This commit is contained in:
DavidBord
2014-08-03 12:54:22 +03:00
parent 41cfe5d2ca
commit 9b30afeca9
9 changed files with 46 additions and 8 deletions

View File

@@ -3034,6 +3034,29 @@ class FieldTest(unittest.TestCase):
test.dictionary # Just access to test getter
self.assertRaises(ValidationError, test.validate)
def test_cls_field(self):
class Animal(Document):
meta = {'allow_inheritance': True}
class Fish(Animal):
pass
class Mammal(Animal):
pass
class Dog(Mammal):
pass
class Human(Mammal):
pass
Animal.objects.delete()
Dog().save()
Fish().save()
Human().save()
self.assertEquals(Animal.objects(_cls__in=["Animal.Mammal.Dog", "Animal.Fish"]).count(), 2)
self.assertEquals(Animal.objects(_cls__in=["Animal.Fish.Guppy"]).count(), 0)
if __name__ == '__main__':
unittest.main()