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

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 JNA调用与带有字节[]的java JNA调用的行为不同   java基于键列表获取子映射   重启后永久增加java堆大小?   JavaHTTPS服务器:相互SSL身份验证   java为什么接受接口的方法会拒绝该接口的实现?   片段中的java视图无法应用于()   ms access Java SQL更新命令不工作   java将web服务自动打包和部署到Oracle Application Server 10g   java有没有办法在安卓 studio中为安卓时钟设置多个警报?   位于FTP服务器上的文件上的Java校验和md5   在Java中创建类时遇到问题。有些方法不太确定   java错误:在类chrome\u驱动程序中找不到主方法   通用海图(Javascript\Java)