diff options
| author | Tom Christie | 2015-03-03 16:23:42 +0000 |
|---|---|---|
| committer | Tom Christie | 2015-03-03 16:23:42 +0000 |
| commit | 932998134fa15ca955d2575349078b2de8ddf892 (patch) | |
| tree | 0fe27648f5314e831d1fa8f24ef1f1cc5a004258 | |
| parent | 5aa204e94f3173e8bc20439033a5d613625b1311 (diff) | |
| parent | 391b0ae21b29212764c4f3d079187d07228bb743 (diff) | |
| download | django-rest-framework-932998134fa15ca955d2575349078b2de8ddf892.tar.bz2 | |
Merge pull request #2628 from maryokhin/patch-2
CreateOnlyDefault call default.set_context() only on create
| -rw-r--r-- | rest_framework/fields.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/rest_framework/fields.py b/rest_framework/fields.py index c327f11b..a80862e8 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -103,7 +103,7 @@ def set_value(dictionary, keys, value): dictionary[keys[-1]] = value -class CreateOnlyDefault: +class CreateOnlyDefault(object): """ This class may be used to provide default values that are only used for create operations, but that do not return any value for update @@ -114,7 +114,7 @@ class CreateOnlyDefault: def set_context(self, serializer_field): self.is_update = serializer_field.parent.instance is not None - if callable(self.default) and hasattr(self.default, 'set_context'): + if callable(self.default) and hasattr(self.default, 'set_context') and not self.is_update: self.default.set_context(serializer_field) def __call__(self): @@ -130,7 +130,7 @@ class CreateOnlyDefault: ) -class CurrentUserDefault: +class CurrentUserDefault(object): def set_context(self, serializer_field): self.user = serializer_field.context['request'].user |
