为模型和django管理中的逻辑删除提供支持
pinax-models的Python项目详细描述
皮纳克斯
Pinax是一个建立在Django Web框架上的开源平台。它是一个由可重用的django应用程序、主题和starter项目模板组成的生态系统。 这个集合可以在http://pinaxproject.com找到。
这个应用程序是作为Pinax生态系统的一部分开发的,但只是一个django应用程序,可以独立于其他Pinax应用程序使用。
Pinax型号
pinax-models支持模型和django管理中的逻辑删除。
这是一个小而简单的应用程序,帕特里克·奥特曼写了这个程序是为了获得一些重用。 他在几乎每一个项目和每一个模型中所做的事情。是的 好的数据很容易被删除,而且不可恢复。也一样 通过重写模型的delete()方法并仅标记 记录被删除,然后利用django的经理覆盖默认值 使逻辑删除的项不会在查询集中返回的行为。
不过,这条规则有两个例外是有用的。
- 在管理员中,很高兴看到一切都有一个是否 它已经被删除,可以过滤到活动记录, (或就此删除)。
- 当一个项被它的主键值获取时,这是一个有效的请求 对象应该返回,即使它被标记为已删除。
历史记录
2015年5月25日,帕特里克向皮纳克斯捐赠了^{tt2}美元,作为 这个进程pinax-models诞生了,代码被合并到这个进程中 包裹。它仍然只是一个django应用程序,可以独立于其他应用程序 Pinax应用程序。
安装
pip install pinax-models
用法
使用应用程序非常简单:
- 将pinax.models添加到已安装的应用程序中
- 从pinax.models.LogicalDeleteModel继承您希望的所有模型 共享此功能。
- 使用 pinax.models.LogicalDeleteModelAdmin
附加
逻辑删除是通过在“删除日期”列上加盖日期戳来处理的。进入 此外,a date_created和date_modified列将填充为 方便。
向后不兼容的更改
2.0
- 重命名为pinax-models,基模型重命名为LogicalDeleteModel
1.1
- 在LogicalDeleteManager上将^{TT10}$更改为^{TT11}$。
- LogicalDeleteManager已从^{TT12}$移动到^{TT13}$
- 已从logicaldelete.models.Model 中删除deleted和everything查询集
文档
pinax-models文档目前正在构建中。如果您想帮助我们编写文档,请加入我们的Pinax项目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),并在那里ping我们,而不是在Github上创建问题。当然,在github上创建问题也是有效的,但是如果您在slack中ping我们,我们通常能够帮助您更快地完成任务。
我们还强烈建议您阅读我们的开源和自助博客文章(http://blog.pinaxproject.com/2016/01/19/open-source-and-self-care/)。
行为准则
为了建立一个友好、包容和无骚扰的社区,Pinax项目有一套行为准则,可以在这里找到。我们要求您将每个人都视为对python、django和pinax感兴趣的聪明的人类程序员。
Pinax项目博客和Twitter
更新和新闻关于pinax项目,请在twitter上的@pinax project上关注我们,并查看我们的博客http://blog.pinaxproject.com。