在Django中,PostgreSQL数据库是用Python实现on_delete还是使用DB触发器?
我有一个应用程序,它在一个大型Django应用程序和一组微型服务器(用Go编写)之间共享一个数据库。如果一条记录被微服务器删除,使得另一个表中的记录有一个引用它的外键,并且如果我在相应的在Django中,PostgreSQL数据库是用Python实现on_delete还是使用DB触发器?,django,postgresql,foreign-keys,Django,Postgresql,Foreign Keys,我有一个应用程序,它在一个大型Django应用程序和一组微型服务器(用Go编写)之间共享一个数据库。如果一条记录被微服务器删除,使得另一个表中的记录有一个引用它的外键,并且如果我在相应的ForeignKey字段中指定了on_delete=models.CASCADE,以下哪项是正确的 依赖记录将被PostgreSQL删除,或 从属记录应由微服务器“手动”删除(这是我目前所做的工作) 或者,是否有一种方法可以指定如何处理我想要的on_delete 下面是一个完整性示例: from django.c
ForeignKey
字段中指定了on_delete=models.CASCADE
,以下哪项是正确的
on_delete
下面是一个完整性示例:
from django.contrib.gis.db import models
class Parent(models.Model):
name = models.CharField(max_length=128)
class Child(models.Model):
name = models.CharField(max_length=128)
parent = models.ForeignKey(
Parent,
null=False,
on_delete=models.CASCADE)
在围棋中:
_, err = db.Exec(`DELETE FROM module_parent WHERE ID = $1`, parentID)
或者我必须做:
_, err = db.EXEC(`DELETE FROM module_child WHERE parent_id = $1`, parentID)
...
_ err = db.EXEC(`DELETE FROM module_parent WHERE id = $1`, parentID
第二个是正确的,根据:
删除时的不会在数据库中创建SQL约束。支持数据库级级联选项