提供内置逻辑删除功能的基本模型

django-logicaldelete的Python项目详细描述


这是一个小而简单的应用程序,我把它组合在一起,以获得一些重用 我在几乎每个项目和我创建的每个模型中做的事情。太容易了 为了让好的数据被删除并且不可恢复。也太容易了 通过重写模型的delete()方法并仅标记记录来解决此问题 删除,然后利用django的管理器覆盖默认行为 这样逻辑上删除的项就不会在querysets中返回。

不过,我发现有两个例外对这条规则有用。

  1. 在管理部门,我喜欢看到所有的事情,都有一个是否 它已经被删除,可以过滤到活动记录, (或就此删除)。
  2. 我仍然认为当一个项目被 主键值,即使对象标记为 删除。

安装Django LogicalDelete

pip install django-logicaldelete

使用django logicaldelite

使用应用程序非常简单:

  1. 将logicaldelite添加到已安装的应用程序中
  2. logicaldelite.models.model继承您想要的所有模型 共享此功能。
  3. 使用logicaldelite.admin.modeladmin为每个模型创建和/或注册管理员

附加

逻辑删除是通过在“删除日期”列上加盖日期戳来处理的。此外,为了方便起见,将填充date\u createddate\u modified列。

向后不兼容的更改

1.1

  • 在LogicalDeleteManager上将所有内容更改为所有已删除的内容
  • LogicalDeleteManager已从logicalDelete.models移动到logicalDelete.managers
  • logicaldelite.models.model中删除所有内容

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java ADB设备不显示手机、og droid   java使用存储和保存方法写入属性文件   java为什么要打印这个结果   JavaSpring自动连线和并行流   java如何在Hashmap中存储KStream对象类型的值?   Android中Telugu字符串的java正则表达式?   java平方求幂   Eclipse和Tomcat的java错误   Java数组不继续循环   Jsoup未解析java嵌套html   java Android:如何知道MediaPlayer是否暂停?   跟踪Java POJO类中字段的空值集的最佳方法   java Spring在应用程序属性相对与绝对中配置工作目录?   向固定大小的平面添加随机放置的直线矩形的java方法   JavaEclipse和jasper报告:如何定位log4j。财产?