diff options
Diffstat (limited to 'rest_framework/serializers.py')
| -rw-r--r-- | rest_framework/serializers.py | 6 |
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) |
