def delete(self, db_delete=False): if db_delete: super(SoftDeletedQuerySet, self).delete() else: pre_soft_delete.send(sender=self.__class__, queryset=self) deleted_key = "queryset_%s" % get_random_hash() deleted_at = datetime.now() self.update(is_deleted=True, deleted_at=deleted_at, deleted_key=deleted_key) post_soft_delete.send(sender=self.__class__, queryset=self) kwargs = { "module": self.model.__module__, "cls": self.model.__name__, "deleted_at": deleted_at, "deleted_key": deleted_key, } delete_hard.apply_async(kwargs=kwargs, countdown=HARD_DELETE_TIME)
def delete(self, *args, **kwargs): """ Zajistuje nastavovani is_deleted misto mazani """ if kwargs.pop("db_delete", False): super(SoftDeletedModel, self).delete(*args, **kwargs) else: pre_soft_delete.send(sender=self.__class__, instance=self) self.is_deleted = True self.deleted_key = _get_random_hash() self.deleted_at = datetime.now() self.save() post_soft_delete.send(sender=self.__class__, instance=self) kwargs = { "module": self.__module__, "cls": self.__class__.__name__, "deleted_at": self.deleted_at, "deleted_key": self.deleted_key, } delete_hard.apply_async(kwargs=kwargs, countdown=HARD_DELETE_TIME)