首页 > 解决方案 > Django 删除函数覆盖 pgtrigger

问题描述

我已经使用 Django 创建了几个模型,其中一个模型我想要一个不允许删除的触发器。请参阅下面的型号代码。

@pgtrigger.register(
    pgtrigger.Protect(name='protect_deletes',operation=pgtrigger.Delete)
)
class NoDelete(models.Model):
    salary = models.PositiveIntegerField()
    id = models.PositiveIntegerField(primary_key=True)
    name = models.CharField(max_length=50)

该应用程序还有一个允许您与数据库交互的网站,当删除这种类型的模型时,会调用 views.py 中的函数。

def delete(request, id):
    temp = NoDelete.objects.get(pk=id)
    temp.delete()

所以看起来触发器不像我想要的那样起作用,因为这个删除从数据库中删除了行。当尝试直接从数据库中删除元组时,触发器被触发。关于如何解决这个问题的任何想法?我必须在这个作业中使用触发器。

标签: pythondjangopostgresqltriggerscrud

解决方案


推荐阅读