def _save_the_instance(self, instance): for field in self.fields_to_disable_auto_now: disable_auto_now(field) for field in self.fields_to_disable_auto_now_add: disable_auto_now_add(field) instance.save() for field in self.fields_to_disable_auto_now: enable_auto_now(field) for field in self.fields_to_disable_auto_now_add: enable_auto_now_add(field)
def _save_the_instance(self, instance): for field in self.fields_to_disable_auto_now: disable_auto_now(field) for field in self.fields_to_disable_auto_now_add: disable_auto_now_add(field) try: instance.save() except Exception as e: unique_fields = [i for i in instance._meta.fields if i._unique] for unique_field in unique_fields: match = list(instance.__class__.objects.filter(**{unique_field.name: getattr(instance, unique_field.name)})) if match: instance = match[0] break for field in self.fields_to_disable_auto_now: enable_auto_now(field) for field in self.fields_to_disable_auto_now_add: enable_auto_now_add(field) return instance