Commit 1adfc41d by Mark Aaron Shirley

partial argument should override required

parent 3b43d41e
...@@ -53,6 +53,8 @@ class Field(object): ...@@ -53,6 +53,8 @@ class Field(object):
self.parent = parent self.parent = parent
self.root = parent.root or parent self.root = parent.root or parent
self.context = self.root.context self.context = self.root.context
if self.root.partial:
self.required = False
def field_from_native(self, data, files, field_name, into): def field_from_native(self, data, files, field_name, into):
""" """
...@@ -148,7 +150,7 @@ class WritableField(Field): ...@@ -148,7 +150,7 @@ class WritableField(Field):
self.widget = widget self.widget = widget
def validate(self, value): def validate(self, value):
if value in validators.EMPTY_VALUES and self.required and not self.root.partial: if value in validators.EMPTY_VALUES and self.required:
raise ValidationError(self.error_messages['required']) raise ValidationError(self.error_messages['required'])
def run_validators(self, value): def run_validators(self, value):
...@@ -186,7 +188,7 @@ class WritableField(Field): ...@@ -186,7 +188,7 @@ class WritableField(Field):
if self.default is not None: if self.default is not None:
native = self.default native = self.default
else: else:
if self.required and not self.root.partial: if self.required:
raise ValidationError(self.error_messages['required']) raise ValidationError(self.error_messages['required'])
return return
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment