【发布时间】:2019-06-09 22:18:51
【问题描述】:
我正在使用 Django、Python 3.7 和 PostgreSQL 9.5。如何标记我的模型以生成级联外键约束?我目前在我的 models.py 文件中有这个...
class ArticleStat(models.Model):
article = models.ForeignKey(Article, on_delete=models.CASCADE, )
当我在管理控制台中运行make migrations my_project 时,它会生成一个包含此文件的文件...
migrations.CreateModel(
name='ArticleStat',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
...
('article', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='my_project.Article')),
],
),
但是,当我运行迁移(使用migrate my_project 0001)时,生成的外键不包含级联删除约束。这就是 PostgreSQL 中的描述......
"my_project_articlesta_article_id_a02a5add_fk_my_project" FOREIGN KEY (article_id) REFERENCES my_project_article(id) DEFERRABLE INITIALLY DEFERRED
我怎样才能让我的 models.py 文件输出级联删除外键约束?
【问题讨论】:
标签: python django python-3.x postgresql cascading-deletes