我正在使用django-model-utils中的SoftDeletableModel
模型,该模型是带有is_removed
字段的抽象基类模型,该字段标记不再使用但保留的条目在db中出于任何原因。
它具有以下结构:
class SoftDeletableModel(models.Model):
is_removed = models.BooleanField(default=False)
class Meta:
abstract = True
objects = SoftDeletableManager()
all_objects = models.Manager()
def delete(self, using=None, soft=True, *args, **kwargs):
"""
Soft delete object (set its ``is_removed`` field to True).
Actually delete object if setting ``soft`` to False.
"""
if soft:
self.is_removed = True
self.save(using=using)
else:
return super().delete(using=using, *args, **kwargs)
如果我实际上要删除对象而不是设置is_removed=True
,则需要在删除过程中添加soft=False
。
我将如何在视图/模板中执行此操作?
答案 0 :(得分:0)
将soft=False
作为关键字参数传递给实例的delete方法:
your_object_instance.delete(soft=False)
这可以在您的视图函数中完成,也可以在项目中可以访问此对象实例的任何其他python文件中完成。