aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/serializers.py
diff options
context:
space:
mode:
authorTom Christie2013-02-22 22:02:42 +0000
committerTom Christie2013-02-22 22:02:42 +0000
commitbc87bf13b48e4ad6b3957ed686cad8a68c2072a4 (patch)
tree6fbe53fffd6589cfcdcbcddf97d7355df0a7150a /rest_framework/serializers.py
parentd44eb2094211820fbdd014fd2884fd5ed04688ab (diff)
downloaddjango-rest-framework-bc87bf13b48e4ad6b3957ed686cad8a68c2072a4.tar.bz2
Tests and fix for #666.
Closes #666.
Diffstat (limited to 'rest_framework/serializers.py')
-rw-r--r--rest_framework/serializers.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py
index b0372ab8..89b3d8ce 100644
--- a/rest_framework/serializers.py
+++ b/rest_framework/serializers.py
@@ -158,6 +158,7 @@ class BaseSerializer(Field):
# If 'fields' is specified, use those fields, in that order.
if self.opts.fields:
+ assert isinstance(self.opts.fields, (list, tuple)), '`include` must be a list or tuple'
new = SortedDict()
for key in self.opts.fields:
new[key] = ret[key]
@@ -165,6 +166,7 @@ class BaseSerializer(Field):
# Remove anything in 'exclude'
if self.opts.exclude:
+ assert isinstance(self.opts.fields, (list, tuple)), '`exclude` must be a list or tuple'
for key in self.opts.exclude:
ret.pop(key, None)
@@ -421,8 +423,8 @@ class ModelSerializer(Serializer):
cls = self.opts.model
opts = get_concrete_model(cls)._meta
pk_field = opts.pk
- while pk_field.rel:
- pk_field = pk_field.rel.to._meta.pk
+ # while pk_field.rel:
+ # pk_field = pk_field.rel.to._meta.pk
fields = [pk_field]
fields += [field for field in opts.fields if field.serialize]
fields += [field for field in opts.many_to_many if field.serialize]