Required fields may now use default values

This commit is contained in:
Harry Marr 2009-12-18 13:40:33 +00:00
parent c3ca3bd97c
commit fc0e67023a

View File

@ -166,10 +166,11 @@ class BaseDocument(object):
if attr_name in values: if attr_name in values:
setattr(self, attr_name, values.pop(attr_name)) setattr(self, attr_name, values.pop(attr_name))
else: else:
if attr_value.required: # Use default value if present
value = getattr(self, attr_name, None)
if value is None and attr_value.required:
raise ValidationError('Field "%s" is required' % attr_name) raise ValidationError('Field "%s" is required' % attr_name)
# Use default value setattr(self, attr_name, value)
setattr(self, attr_name, getattr(self, attr_name, None))
@classmethod @classmethod
def _get_subclasses(cls): def _get_subclasses(cls):