在Django的save()中执行delete()

巴勃罗·维亚切斯拉夫

我正在研究Django / Wagtail项目。我正在尝试构建一个非常自定义的功能,当满足某些条件时,单击“保存”按钮时需要删除一个对象。

我重写了Save方法:

def save(self, *args, **kwargs):

    if condition:
        return super(ArticleTag, self).delete()

    else:
        return super(ArticleTag, self).save(*args, **kwargs)

我知道这看起来很奇怪,而且完全是不可取的,但这恰恰是我要实现的行为。

是否有更好或“正确”的方法来做到这一点?

是否还有其他步骤可以完全重现该行为,就像用户直接单击“删除”一样?

浮动pur

如果对象已经存在于数据库中,则可以执行以下操作:

def save(self, *args, **kwargs):

    if condition:
        self.delete() # you do not need neither to return the deleted object nor to call the super method. 
    else:
        return super(ArticleTag, self).save(*args, **kwargs)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章