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
34e14b01
Commit
34e14b01
authored
Jan 08, 2013
by
Mark Aaron Shirley
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move nested serializer logic into .field_from_native()
parent
2d62bcd5
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
9 deletions
+9
-9
rest_framework/serializers.py
+9
-9
No files found.
rest_framework/serializers.py
View file @
34e14b01
...
...
@@ -216,15 +216,6 @@ class BaseSerializer(WritableField):
for
field_name
,
field
in
self
.
fields
.
items
():
field
.
initialize
(
parent
=
self
,
field_name
=
field_name
)
if
isinstance
(
field
,
ModelSerializer
)
and
self
.
object
:
# Set the serializer object if it exists
pk_field_name
=
field
.
opts
.
model
.
_meta
.
pk
.
name
obj
=
getattr
(
self
.
object
,
field_name
)
nested_data
=
data
.
get
(
field_name
)
pk_val
=
nested_data
.
get
(
pk_field_name
)
if
nested_data
else
None
if
obj
and
(
getattr
(
obj
,
pk_field_name
)
==
pk_val
):
field
.
object
=
obj
field
.
delete
=
nested_data
.
get
(
'_delete'
)
try
:
field
.
field_from_native
(
data
,
files
,
field_name
,
reverted_data
)
except
ValidationError
as
err
:
...
...
@@ -393,6 +384,15 @@ class ModelSerializer(Serializer):
raise
ValidationError
(
self
.
error_messages
[
'required'
])
return
if
self
.
parent
.
object
:
# Set the serializer object if it exists
pk_field_name
=
self
.
opts
.
model
.
_meta
.
pk
.
name
pk_val
=
native
.
get
(
pk_field_name
)
obj
=
getattr
(
self
.
parent
.
object
,
field_name
)
if
obj
and
(
getattr
(
obj
,
pk_field_name
)
==
pk_val
):
self
.
object
=
obj
self
.
delete
=
native
.
get
(
'_delete'
)
obj
=
self
.
from_native
(
native
,
files
)
if
not
self
.
_errors
:
self
.
object
=
obj
...
...
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