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
899f96ae
Commit
899f96ae
authored
Nov 27, 2012
by
Marko Tibold
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added a get_excluded_fieldnames() method.
Model validation now excludes fields not listed in Meta fields (if set).
parent
f104f743
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
1 deletions
+12
-1
rest_framework/serializers.py
+12
-1
No files found.
rest_framework/serializers.py
View file @
899f96ae
...
@@ -119,6 +119,17 @@ class BaseSerializer(Field):
...
@@ -119,6 +119,17 @@ class BaseSerializer(Field):
"""
"""
return
{}
return
{}
def
get_excluded_fieldnames
(
self
):
"""
Returns the fieldnames that should not be validated.
"""
excluded_fields
=
list
(
self
.
opts
.
exclude
)
for
field
in
self
.
fields
.
keys
()
+
self
.
default_fields
.
keys
():
if
self
.
opts
.
fields
:
if
field
not
in
self
.
opts
.
fields
+
self
.
opts
.
exclude
:
excluded_fields
.
append
(
field
)
return
excluded_fields
def
get_fields
(
self
):
def
get_fields
(
self
):
"""
"""
Returns the complete set of fields for the object as a dict.
Returns the complete set of fields for the object as a dict.
...
@@ -466,7 +477,7 @@ class ModelSerializer(Serializer):
...
@@ -466,7 +477,7 @@ class ModelSerializer(Serializer):
def
perform_model_validation
(
self
,
restored_object
):
def
perform_model_validation
(
self
,
restored_object
):
# Call Django's full_clean() which in turn calls: Model.clean_fields(), Model.clean(), Model.validat_unique()
# Call Django's full_clean() which in turn calls: Model.clean_fields(), Model.clean(), Model.validat_unique()
restored_object
.
full_clean
(
exclude
=
list
(
self
.
opts
.
exclude
))
restored_object
.
full_clean
(
exclude
=
list
(
self
.
get_excluded_fieldnames
()
))
def
restore_object
(
self
,
attrs
,
instance
=
None
):
def
restore_object
(
self
,
attrs
,
instance
=
None
):
"""
"""
...
...
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