Django 自定义软删除Model
起源:
一些数据不会真的去删除,而是给数据标记一个flag,表示它被删除了,然后感觉每次都写一个这样的字段超级麻烦,并且有时候给筛选的时候一不小心的疏漏可能导致被删除的实例重新回到列表中。。。# [编码中还是总充满这小惊喜的哈]
,因此打算实现一个可以软删除的Model,这样每次需要软删除就方便多了。
测试环境:Django2.0 Python3.6
在这里多说一句哈,个人比较喜欢3.6的格式化字符串语法,作为一个懒虫,能省掉一个format,何乐而不为哈
具体实现:
首先,先写一个model,当然,在这之前如果不熟悉Managers的话,建议先看一下官方文档Manager , 因为要自己处理一下那个标记,在这里用到了Managers。
话不多说了,直接上代码
class SoftDeletableQuerySet(QuerySet):