【发布时间】:2012-02-19 03:51:52
【问题描述】:
我正在编写一个 django 项目。并且想知道用户删除自己的帐户后,有没有办法 django 内置自动删除与该用户相关的所有对象(例如一些通用的外键)?或者我应该使用信号“post_delete”来删除所有相关的对象?
【问题讨论】:
-
您确定相关对象尚未被删除吗?必须删除不可为空的 ForeignKey 以避免 IntegrityError,IIRC Django 默认会这样做。通用外键是指GenericForeignKey吗?因为这变得更复杂了。
-
@AdamKG 我想我在这里并不是指GenericForeignKey。我的意思是我已经得到答案的 ON DELETE CASCADE。只要Contenttype,GenericForeignKey的作用我还不清楚,我正在学习。另一个可能与此无关的问题,但我想问的是,我发现了一些用户配置文件实现,它们都使用 ForeignKey 而不是 OneToOne。他们假设这里是多对一关系还是无关紧要。
标签: django django-models django-users