aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework
diff options
context:
space:
mode:
authorBrickXu2014-12-05 14:50:53 +0800
committerxulei2014-12-05 14:51:39 +0800
commitd68c61450440a522b08b64fdd21028cc739e6ead (patch)
treedda22038a03f21e2fd9d2828533db6d8914bd621 /rest_framework
parent4042180392fb7809d1c8d2f6ca0bc6e18c114e6c (diff)
downloaddjango-rest-framework-d68c61450440a522b08b64fdd21028cc739e6ead.tar.bz2
Add validation for fields & exclude type.
Diffstat (limited to 'rest_framework')
-rw-r--r--rest_framework/serializers.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py
index af8aeb48..96cd51e3 100644
--- a/rest_framework/serializers.py
+++ b/rest_framework/serializers.py
@@ -759,6 +759,12 @@ class ModelSerializer(Serializer):
depth = getattr(self.Meta, 'depth', 0)
extra_kwargs = getattr(self.Meta, 'extra_kwargs', {})
+ if fields and not isinstance(fields, (list, tuple)):
+ raise TypeError('`fields` must be a list or tuple')
+
+ if exclude and not isinstance(exclude, (list, tuple)):
+ raise TypeError('`exclude` must be a list or tuple')
+
assert not (fields and exclude), "Cannot set both 'fields' and 'exclude'."
extra_kwargs = self._include_additional_options(extra_kwargs)