mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-04-28 13:03:45 +03:00
Remove initial
kwarg, add default
.
This commit is contained in:
parent
13d0a82939
commit
93f1aa4f69
|
@ -107,10 +107,11 @@ class WritableField(Field):
|
||||||
'invalid': _('Invalid value.'),
|
'invalid': _('Invalid value.'),
|
||||||
}
|
}
|
||||||
widget = widgets.TextInput
|
widget = widgets.TextInput
|
||||||
|
default = None
|
||||||
|
|
||||||
def __init__(self, source=None, readonly=False, required=None,
|
def __init__(self, source=None, readonly=False, required=None,
|
||||||
validators=[], error_messages=None, widget=None,
|
validators=[], error_messages=None, widget=None,
|
||||||
initial=None):
|
default=None):
|
||||||
|
|
||||||
super(WritableField, self).__init__(source=source)
|
super(WritableField, self).__init__(source=source)
|
||||||
|
|
||||||
|
@ -128,10 +129,9 @@ class WritableField(Field):
|
||||||
self.error_messages = messages
|
self.error_messages = messages
|
||||||
|
|
||||||
self.validators = self.default_validators + validators
|
self.validators = self.default_validators + validators
|
||||||
|
self.default = default or self.default
|
||||||
|
|
||||||
# These attributes are ony used for HTML forms.
|
# Widgets are ony used for HTML forms.
|
||||||
self.initial = initial
|
|
||||||
|
|
||||||
widget = widget or self.widget
|
widget = widget or self.widget
|
||||||
if isinstance(widget, type):
|
if isinstance(widget, type):
|
||||||
widget = widget()
|
widget = widget()
|
||||||
|
@ -170,8 +170,8 @@ class WritableField(Field):
|
||||||
try:
|
try:
|
||||||
native = data[field_name]
|
native = data[field_name]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
if getattr(self, 'missing_value', None) is not None:
|
if self.default is not None:
|
||||||
native = self.missing_value
|
native = self.default
|
||||||
else:
|
else:
|
||||||
if self.required:
|
if self.required:
|
||||||
raise ValidationError(self.error_messages['required'])
|
raise ValidationError(self.error_messages['required'])
|
||||||
|
@ -415,7 +415,11 @@ class BooleanField(WritableField):
|
||||||
'invalid': _(u"'%s' value must be either True or False."),
|
'invalid': _(u"'%s' value must be either True or False."),
|
||||||
}
|
}
|
||||||
empty = 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):
|
def from_native(self, value):
|
||||||
if value in ('t', 'True', '1'):
|
if value in ('t', 'True', '1'):
|
||||||
|
|
|
@ -281,8 +281,10 @@ class BrowsableAPIRenderer(BaseRenderer):
|
||||||
|
|
||||||
kwargs = {}
|
kwargs = {}
|
||||||
kwargs['required'] = v.required
|
kwargs['required'] = v.required
|
||||||
|
|
||||||
if getattr(v, 'queryset', None):
|
if getattr(v, 'queryset', None):
|
||||||
kwargs['queryset'] = v.queryset
|
kwargs['queryset'] = v.queryset
|
||||||
|
|
||||||
if getattr(v, 'widget', None):
|
if getattr(v, 'widget', None):
|
||||||
widget = copy.deepcopy(v.widget)
|
widget = copy.deepcopy(v.widget)
|
||||||
# If choices have friendly readable names,
|
# If choices have friendly readable names,
|
||||||
|
@ -294,8 +296,10 @@ class BrowsableAPIRenderer(BaseRenderer):
|
||||||
for (ident, desc) in choices]
|
for (ident, desc) in choices]
|
||||||
widget.choices = choices
|
widget.choices = choices
|
||||||
kwargs['widget'] = widget
|
kwargs['widget'] = widget
|
||||||
if getattr(v, 'initial', None):
|
|
||||||
kwargs['initial'] = v.initial
|
if getattr(v, 'default', None) is not None:
|
||||||
|
kwargs['initial'] = v.default
|
||||||
|
|
||||||
kwargs['label'] = k
|
kwargs['label'] = k
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user