跳转到主要内容

为模型和Django管理后台提供逻辑删除支持

项目描述

http://slack.pinaxproject.com/badge.svg https://img.shields.io/travis/pinax/pinax-models.svg https://img.shields.io/coveralls/pinax/pinax-models.svg https://img.shields.io/pypi/dm/pinax-models.svg https://img.shields.io/pypi/v/pinax-models.svg https://img.shields.io/badge/license-MIT-blue.svg

Pinax

Pinax是一个基于Django Web框架的开源平台。它是一个可重用的Django应用、主题和起始项目模板的生态系统。这个集合可以在http://pinaxproject.com找到。

这个应用是作为Pinax生态系统的一部分开发的,但它只是一个Django应用,可以独立于其他Pinax应用使用。

pinax-models

pinax-models 提供了对模型和Django管理后台逻辑删除的支持。

这是一个由Patrick Altman编写的简单应用,用于在几乎每个项目和每个他创建的模型中重用一些东西。好数据被删除且无法恢复的情况太容易发生了。通过重写模型的delete()方法并将记录标记为已删除,然后利用Django的管理器来覆盖默认行为,以便在查询集中不返回逻辑删除的项目,可以轻松解决这个问题。

然而,有两个例外规则是有用的。

  1. 在管理后台,显示是否已删除的指示符,并能够过滤到仅活跃记录(或者删除的记录)是很不错的。

  2. 当通过主键值获取项目时,即使该项目标记为已删除,返回的对象也是有效的请求。

历史

2015年5月25日,Patrick将django-logicaldelete捐赠给了Pinax,在此过程中,pinax-models诞生,代码被整合到该包中。它仍然只是一个Django应用程序,可以与其他Pinax应用程序相当独立。

安装

pip install pinax-models

使用

使用此应用程序非常简单

  1. pinax.models添加到您的INSTALLED_APPS中

  2. 对于您希望使用此功能的所有模型,从pinax.models.LogicalDeleteModel继承。

  3. 使用pinax.models.LogicalDeleteModelAdmin为这些模型中的每一个创建和/或注册管理员。

附加信息

逻辑删除通过给date_removed列添加日期戳来处理。此外,还会填充date_createddate_modified列,以方便使用。

向后不兼容的更改

2.0

  • 重命名为pinax-models,基础模型重命名为LogicalDeleteModel

1.1

  • 在LogicalDeleteManager上更改everythingall_with_deleted

  • LogicalDeleteManager从logicaldelete.models移动到logicaldelete.managers

  • logicaldelete.models.Model中移除了deletedeverything查询集。

文档

pinax-models的文档目前正在建设中。如果您想帮助我们编写文档,请加入我们的Pinax Project Slack团队,并告知我们!Pinax文档可在http://pinaxproject.com/pinax/找到。

贡献

请参阅这篇博客文章http://blog.pinaxproject.com/2016/02/26/recap-february-pinax-hangout/,包括视频,或我们的如何贡献(http://pinaxproject.com/pinax/how_to_contribute/)部分,以了解如何为Pinax做出贡献。有关具体贡献想法,请参阅我们的贡献方式/我们需要帮助的地方(http://pinaxproject.com/pinax/ways_to_contribute/)部分。

如果您有任何问题,我们建议您加入我们的Pinax Slack团队(http://slack.pinaxproject.com),并在那里向我们发送消息,而不是在GitHub上创建问题。当然,在GitHub上创建问题也是有效的,但我们通常能够在Slack上更快地帮助您。

我们还强烈建议您阅读我们的开源和自我关爱博客文章http://blog.pinaxproject.com/2016/01/19/open-source-and-self-care/

行为准则

为了营造一个友好、包容且无骚扰的社区,Pinax项目有一套行为准则,可在http://pinaxproject.com/pinax/code_of_conduct/找到。我们要求您将每个人视为一个聪明的人类程序员,他们与您一样对Python、Django和Pinax感兴趣。

Pinax项目博客和Twitter

有关Pinax项目的更新和新闻,请关注我们的Twitter账号@pinaxproject,并查看我们的博客http://blog.pinaxproject.com

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

pinax-models-3.0.tar.gz (6.2 kB 查看哈希值)

上传时间 源代码

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面