如何在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。没什么了(除非您决定使用到
属性创建自己的中间表)。中间表仅存储(在您的情况下)“哪个季节
链接到哪个主题
”。因此,如果您更新了季节
或主题
,则只会在各自的表中进行更改