Django版数据库触发器?

时间:2017-02-19 21:21:48

标签: python mysql django django-models triggers

我有两张桌子:相机和相机时间戳, Timestamp具有cameraID的外键。 相机和时间戳都有一个“状态”字段。 每个时间戳条目都有一个摄像头和一个当前状态。 我想更新该相机的Timestamp.State时更新Camera.State值。在SQL中,我知道如何使用数据库触发器执行此操作。但我不知道如何在Django中实现这一目标

1 个答案:

答案 0 :(得分:1)

有两种选择:使用Django signals或修改Timestamp.save()以实现所需的行为。

示例:

class Timestamp(models.Model):
    ...
    def save(self, *args, **kwargs):
        Camera.objects.filter(pk=self.camera_id).update(state=self.state)
        super(Timestamp, self).save(*args, **kwargs)