implement binary field size validation

This commit is contained in:
Rached Ben Mustapha
2010-03-08 17:06:52 +01:00
parent bb19ba3eb6
commit 0b3af2052f
2 changed files with 43 additions and 1 deletions

View File

@@ -448,7 +448,8 @@ class BinaryField(BaseField):
"""A binary data field.
"""
def __init__(self, **kwargs):
def __init__(self, max_bytes=None, **kwargs):
self.max_bytes = max_bytes
super(BinaryField, self).__init__(**kwargs)
def to_mongo(self, value):
@@ -456,3 +457,9 @@ class BinaryField(BaseField):
def to_python(self, value):
return str(value)
def validate(self, value):
assert isinstance(value, str)
if self.max_bytes is not None and len(value) > self.max_bytes:
raise ValidationError('Binary value is too long')