如何在Django的许多关系中获取models.CASCADE?

如何在Django的许多关系中获取models.CASCADE?,django,django-models,Django,Django Models,我有两张桌子: class Subject(models.Model): .... class Season(models.Model): season = models.CharField(max_length=2, primary_key=True) subject = models.ManyToManyField(Subject) 当我删除一个主题实例时,我需要与delete相关的季节实例。如何在模型中做到这一点?如果您确实需要一个关系,那么它意味着许多主题s可

我有两张桌子:

class Subject(models.Model):
    ....

class Season(models.Model):
    season = models.CharField(max_length=2, primary_key=True)
    subject = models.ManyToManyField(Subject)
当我删除一个
主题
实例时,我需要与delete相关的
季节
实例。如何在模型中做到这一点?

如果您确实需要一个关系,那么它意味着许多
主题
s可能也有许多
季节
s

在多个关系中,链接存储在中间表中,中间表存储两个链接记录的
ID
s


如果删除
主题
季节
,则与已删除项目相关的所有记录将自动从中间表中删除。

这是否回答了您的问题?不,不是真的。问这个问题的人实际上必须使用一种外键,一对一的关系。在我的例子中,我必须使用许多关系,所以有一个中间表来记录更改?如果我更新一个季节,原始主题表中的数据会改变吗?或者中间表只会更改吗?@isStream如果您将
季节
链接到
主题
(反之亦然),它将在中间表中添加一行,其中包含以下数据:此表中行的id、
季节
的id、
主题的id。没什么了(除非您决定使用
属性创建自己的中间表)。中间表仅存储(在您的情况下)“哪个
季节
链接到哪个
主题
”。因此,如果您更新了
季节
主题
,则只会在各自的表中进行更改