使用继承的代码库。
当我从API或管理站点查看时,我有一个包含2个对象的表,但是当我在PostgreSQL中执行select *时它有3个对象。
name | created | deleted
-------+-------------------------------+------------
Sweet | 2017-07-21 16:31:28.556949-05 | t
qwer | 2017-07-21 16:36:03.096954-05 | t
asdf | 2017-07-21 16:35:15.585589-05 | f
(3 rows)
该表中有一个'已删除'标志,似乎是一个自动软删除标志。如果我通过SQL将标志设置为true,则它对ORM可见。如果我通过SQL将标志设置为false,则它将从ORM中隐藏。
这种特殊类型的自动化非常无用,我想禁用它,但我想在删除列之前了解它在Django中是如何工作的。
我没有使用任何特殊的东西来支持这种行为。我找到了描述如何通过继承支持它的特殊模型实现软删除的文章,但我没有做到这一点。这只是models.Model的一个vanilla子类。我用谷歌搜索并搜索了Django文档,我没有看到任何表明只有一个“删除”列给你软删除的东西。
我的问题是:
答案 0 :(得分:0)
@knbk引导我回答:
有一个与该模型相关联的Manager类,其get_queryset()方法通过“删除的”'过滤了任何查询集操作。标志。