如何从视图将变量传递给函数

时间:2020-01-05 20:17:19

标签: django django-models django-views

我正在使用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

我将如何在视图/模板中执行此操作?

1 个答案:

答案 0 :(得分:0)

soft=False作为关键字参数传递给实例的delete方法:

your_object_instance.delete(soft=False)

这可以在您的视图函数中完成,也可以在项目中可以访问此对象实例的任何其他python文件中完成。