这可能很简单,但我有一个心理障碍,所以感谢帮助。我有一个包含Message
模型的discussion
应用程序。我想将Message
与其他几个模型(例如Video
,Note
等)联系起来。
我觉得在Message
模型上为每个模型添加一个字段是不对的,但我希望消息"级联删除"。当父对象被删除时(例如,如果Video
被删除,那么所有相关的Message
也应该被删除)。
我怎样才能做到这一点?
class Message(models.Model):
"""
Stores information pertaining to a message.
"""
sender = models.ForeignKey(
Employee,
on_delete=models.CASCADE,
null=True,
related_name='messages'
)
message = models.TextField()
parent = models.ForeignKey(
'self',
related_name='children',
null=True,
blank=True,
on_delete=models.SET_NULL
)
created_on = models.DateTimeField(auto_now_add=True)
# this seems wrong
# video = models.FK
# note = models.FK
# etc...
创建子类
class models(models.Model):
class message(models.Model):