【发布时间】:2010-08-04 23:28:03
【问题描述】:
在 Django 管理站点中,当您决定取消某个对象时,所有链接的元素(即:外键指向的元素)也会被删除。
除了在 shell 中进行原始查询之外,您如何避免这种情况? 是否可以调整管理员以进行选择? 谢谢
【问题讨论】:
标签: django django-admin
在 Django 管理站点中,当您决定取消某个对象时,所有链接的元素(即:外键指向的元素)也会被删除。
除了在 shell 中进行原始查询之外,您如何避免这种情况? 是否可以调整管理员以进行选择? 谢谢
【问题讨论】:
标签: django django-admin
你可以绕过它,但没有正确的方法。
查看这些链接以了解可能的解决方法:
【讨论】:
您只需要覆盖相关模型的删除方法。
通用示例:
class Foo:
def delete(self):
"""
Override default model method so that all objects in the related
objects set are not removed
"""
self.my_related_stuff.clear()
super(Foo, self).delete()
有关更多示例,请参阅本文:
http://fragmentsofcode.wordpress.com/2009/03/06/django-gotcha-related-objects-deleted-by-default/
【讨论】: