This commit is contained in:
jacky15 2017-11-15 20:07:14 +00:00 committed by GitHub
commit d52802be06

View File

@ -1100,6 +1100,9 @@ class ModelSerializer(Serializer):
fields = self.get_default_field_names(declared_fields, info) fields = self.get_default_field_names(declared_fields, info)
if exclude is not None: if exclude is not None:
# make sure all fields are unique
fields = set(fields)
# If `Meta.exclude` is included, then remove those fields. # If `Meta.exclude` is included, then remove those fields.
for field_name in exclude: for field_name in exclude:
assert field_name in fields, ( assert field_name in fields, (
@ -1112,6 +1115,8 @@ class ModelSerializer(Serializer):
) )
fields.remove(field_name) fields.remove(field_name)
fields = list(fields)
return fields return fields
def get_default_field_names(self, declared_fields, model_info): def get_default_field_names(self, declared_fields, model_info):