mongoengine icon indicating copy to clipboard operation
mongoengine copied to clipboard

Queryset update doesn't go through field validation

Open alonho opened this issue 12 years ago • 0 comments

Here's an example:

import mongoengine as me
me.connect('test')

class AgeField(me.IntField):
    def validate(self, value):
        if value < 0:
            self.error('must be larger than zero')

class Person(me.Document):
    age = AgeField()

try:
    Person(age=-2).save()
except me.ValidationError:
    pass
else:
    1/0
p = Person(age=100).save()
Person.objects.update(set__age=-1)
print Person.objects()[0].age

alonho avatar Aug 21 '13 13:08 alonho