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
f33ca015
Commit
f33ca015
authored
Jul 08, 2015
by
Xavier Ordoquy
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #3112 from juannyG/master
Fix nested serializer required=False multipart data validation bug
parents
8e6db16e
2887fc4a
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
32 additions
and
1 deletions
+32
-1
rest_framework/serializers.py
+1
-1
tests/test_serializer_nested.py
+31
-0
No files found.
rest_framework/serializers.py
View file @
f33ca015
...
...
@@ -367,7 +367,7 @@ class Serializer(BaseSerializer):
# We override the default field access in order to support
# nested HTML forms.
if
html
.
is_html_input
(
dictionary
):
return
html
.
parse_html_dict
(
dictionary
,
prefix
=
self
.
field_name
)
return
html
.
parse_html_dict
(
dictionary
,
prefix
=
self
.
field_name
)
or
empty
return
dictionary
.
get
(
self
.
field_name
,
empty
)
def
run_validation
(
self
,
data
=
empty
):
...
...
tests/test_serializer_nested.py
View file @
f33ca015
from
django.http
import
QueryDict
from
rest_framework
import
serializers
...
...
@@ -38,3 +40,32 @@ class TestNestedSerializer:
}
serializer
=
self
.
Serializer
()
assert
serializer
.
data
==
expected_data
class
TestNotRequiredNestedSerializer
:
def
setup
(
self
):
class
NestedSerializer
(
serializers
.
Serializer
):
one
=
serializers
.
IntegerField
(
max_value
=
10
)
class
TestSerializer
(
serializers
.
Serializer
):
nested
=
NestedSerializer
(
required
=
False
)
self
.
Serializer
=
TestSerializer
def
test_json_validate
(
self
):
input_data
=
{}
serializer
=
self
.
Serializer
(
data
=
input_data
)
assert
serializer
.
is_valid
()
input_data
=
{
'nested'
:
{
'one'
:
'1'
}}
serializer
=
self
.
Serializer
(
data
=
input_data
)
assert
serializer
.
is_valid
()
def
test_multipart_validate
(
self
):
input_data
=
QueryDict
(
''
)
serializer
=
self
.
Serializer
(
data
=
input_data
)
assert
serializer
.
is_valid
()
input_data
=
QueryDict
(
'nested[one]=1'
)
serializer
=
self
.
Serializer
(
data
=
input_data
)
assert
serializer
.
is_valid
()
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