diff options
| author | Tom Christie | 2012-10-21 17:41:05 +0100 |
|---|---|---|
| committer | Tom Christie | 2012-10-21 17:41:05 +0100 |
| commit | 93f1aa4f69df85add114c9730a01b50d013a844a (patch) | |
| tree | f4c13525f0e75fb98599b29d96a646869c4c58a2 /rest_framework/fields.py | |
| parent | 13d0a829390105aa53602be7dc713092ead5a66c (diff) | |
| download | django-rest-framework-93f1aa4f69df85add114c9730a01b50d013a844a.tar.bz2 | |
Remove `initial` kwarg, add `default`.
Diffstat (limited to 'rest_framework/fields.py')
| -rw-r--r-- | rest_framework/fields.py | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/rest_framework/fields.py b/rest_framework/fields.py index 0990eadc..29940946 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -107,10 +107,11 @@ class WritableField(Field): 'invalid': _('Invalid value.'), } widget = widgets.TextInput + default = None def __init__(self, source=None, readonly=False, required=None, validators=[], error_messages=None, widget=None, - initial=None): + default=None): super(WritableField, self).__init__(source=source) @@ -128,10 +129,9 @@ class WritableField(Field): self.error_messages = messages self.validators = self.default_validators + validators + self.default = default or self.default - # These attributes are ony used for HTML forms. - self.initial = initial - + # Widgets are ony used for HTML forms. widget = widget or self.widget if isinstance(widget, type): widget = widget() @@ -170,8 +170,8 @@ class WritableField(Field): try: native = data[field_name] except KeyError: - if getattr(self, 'missing_value', None) is not None: - native = self.missing_value + if self.default is not None: + native = self.default else: if self.required: raise ValidationError(self.error_messages['required']) @@ -415,7 +415,11 @@ class BooleanField(WritableField): 'invalid': _(u"'%s' value must be either True or False."), } empty = False - missing_value = False # Fill in missing value not supplied by html form + + # Note: we set default to `False` in order to fill in missing value not + # supplied by html form. TODO: Fix so that only html form input gets + # this behavior. + default = False def from_native(self, value): if value in ('t', 'True', '1'): |
