diff options
Diffstat (limited to 'django/core')
| -rw-r--r-- | django/core/serializers/base.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/django/core/serializers/base.py b/django/core/serializers/base.py index 1ef7bee472..ee9e4dd621 100644 --- a/django/core/serializers/base.py +++ b/django/core/serializers/base.py @@ -158,7 +158,12 @@ class DeserializedObject(object): return "<DeserializedObject: %s>" % smart_str(self.object) def save(self, save_m2m=True): - self.object.save() + # Call save on the Model baseclass directly. This bypasses any + # model-defined save. The save is also forced to be raw. + # This ensures that the data that is deserialized is literally + # what came from the file, not post-processed by pre_save/save + # methods. + models.Model.save(self.object, raw=True) if self.m2m_data and save_m2m: for accessor_name, object_list in self.m2m_data.items(): setattr(self.object, accessor_name, object_list) |
