如何从django项目中检测和响应数据库更改(INSERT)?

时间:2012-05-31 16:58:23

标签: django postgresql

我正在设置我们的项目,以便与名为Endicia的运输平台集成,该平台能够在运送包裹时将新行插入我们的数据库。

如何在插入新行时从python中检测到?

我现在的解决方案是每隔30秒左右查询数据库以获取新行...是否有另一种解决方案可以将信号从postgres发送到python?

1 个答案:

答案 0 :(得分:1)

您设置了由manage.py文件运行的custom command

你把它放在`yourapp / management / commands /'文件夹中。确保将 init .py文件添加到管理和命令文件夹,否则命令将不起作用。然后,为自定义命令创建代码。

然后,请参阅此related question about running a shell script when changes are made to a postgres database。答案是使用PL/sh。你需要自己计算这个部分,但基本上你要这样做,最终的结果是脚本应该调用/path/to/app/manage.py command_name

之类的东西。