diff --git a/rest_framework/utils/serializer_helpers.py b/rest_framework/utils/serializer_helpers.py index 92d19857e9..1b3f8ea934 100644 --- a/rest_framework/utils/serializer_helpers.py +++ b/rest_framework/utils/serializer_helpers.py @@ -100,3 +100,20 @@ def keys(self): def values(self): return self.fields.values() + + def pop(self, field_name, default=None): + if field_name in self.fields.keys(): + popped = self.fields[field_name] + del self.fields[field_name] + return popped + else: + return default + + def get(self, field_name, default=None): + if field_name in self.fields.keys(): + return self.fields[field_name] + else: + return default + + def __len__(self): + return len(self.fields()) \ No newline at end of file