我有模型,其中我与3个差异模型有关系。
现在我知道如果我使用
object.delete()
,然后子对象也将被删除。
现在的问题是,在我的整个模型类中,我有一个名为DELETED
的数据库列,我想在有人删除某个对象时将其设置为1。
我可以覆盖名为BaseModel
的类中的已删除函数,并覆盖更新字段的自定义删除方法为1.但问题是
如果我这样做,那么我必须手动完成所有级联关系并手动调用每个对象的删除ob。
有没有办法只通过调用object.delete()。它也会自动遍历子对象
答案 0 :(得分:0)
请查看Django: How can I find which of my models refer to a model。
您可以使用Collector
使用collect()
获取对所有必要项目的所有引用。这是Django用来模拟CASCADE
行为的代码。收集完所有引用后,您可以为每个项目更新DELETED
列。