我正在研究Django / Wagtail项目。我正在尝试构建一个非常自定义的功能,当满足某些条件时,单击“保存”按钮时需要删除一个对象。
我重写了Save方法:
def save(self, *args, **kwargs):
if condition:
return super(ArticleTag, self).delete()
else:
return super(ArticleTag, self).save(*args, **kwargs)
我知道这看起来很奇怪,而且完全是不可取的,但这恰恰是我要实现的行为。
是否有更好或“正确”的方法来做到这一点?
是否还有其他步骤可以完全重现该行为,就像用户直接单击“删除”一样?
如果对象已经存在于数据库中,则可以执行以下操作:
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] 删除。
我来说两句