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

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对ServiceListener和ServiceTracker调用提供了哪些排序保证?   java找不到方法格式的符号(DateTimeFormatter)?   mysql有没有一种方法可以将TCPDump输出到一个文件中,并用Java对其进行过滤,每5秒钟用新数据覆盖一次该文件?   java如何最好地配置用户上传支持文件的上传位置   java我在Android上使用OData4j,我无法获取实体   JPA实体关系简单示例中的java获取错误   JAVANoClassDefFoundError:安卓。应用程序。用法安卓中的UsageStatsManager   Eclipse中javaoo代码分析   java MethodVisitor抛出类格式错误   java为什么在从ViewModel调用时,改型排队不起作用?   调试小程序Java控制台:删除跟踪消息大小限制   java复杂安卓活动动画   java如何在使用JDOM2解析XML时忽略注释内容   java通过循环创建文本字段   即使在bufferedwriter关闭后也未发现java文件异常   单链表恢复中的java错误