【发布时间】:2017-08-07 05:57:39
【问题描述】:
如何处理有朝一日可能被删除的用户或用户名等外键?
我最好的猜测是 CharField,其选项仅限于引用字段,因为删除 ForeignKey 会导致级联删除。
我想保留例如与对象相关的用户名称,即使原始用户对象已被删除。
这样的工作是否可行:
def set_user_name(self):
self.user_name = self.user.name
return None
user = models.ForeignKey(User,
blank=True,
null=True,
on_delete=models.SET(set_user_name))
user_name = models.CharField(max_length=50, blank=True, null=True)
【问题讨论】:
-
我已经回答了类似的问题here。这个想法是将
CharField与ForeignKey一起存储。 -
(我已在下面修复并更新了我的答案)
标签: django