Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
django-rest-framework
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
django-rest-framework
Commits
93f1aa4f
Commit
93f1aa4f
authored
Oct 21, 2012
by
Tom Christie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove `initial` kwarg, add `default`.
parent
13d0a829
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
9 deletions
+17
-9
rest_framework/fields.py
+11
-7
rest_framework/renderers.py
+6
-2
No files found.
rest_framework/fields.py
View file @
93f1aa4f
...
@@ -107,10 +107,11 @@ class WritableField(Field):
...
@@ -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):
...
@@ -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):
...
@@ -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):
...
@@ -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'
):
...
...
rest_framework/renderers.py
View file @
93f1aa4f
...
@@ -281,8 +281,10 @@ class BrowsableAPIRenderer(BaseRenderer):
...
@@ -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):
...
@@ -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
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment