从Django Admin UI调用Python脚本(关于字段值更改)

时间:2014-10-11 04:01:17

标签: python mysql django external

我是Django编程的新手,对它的架构知之甚少。

我有一个python脚本(转换为.exe),我希望在使用Django Admin在数据库中更改某个字段时运行该脚本。

我有一个带有布尔字段的MySQL数据库表。使用Djando Admin UI访问(修改)此表中的数据。 Django Admin UI在更改表单中将布尔字段显示为复选框。我想在选中复选框时触发test.exe脚本(boolean value ='True')并且用户单击“保存”。另外,当用户取消选中复选框(布尔字段值= False)并单击“保存”时,我想终止/终止脚本。

提前致谢。

1 个答案:

答案 0 :(得分:0)

也许Django's signals system可以帮到你。

它允许您在保存模型之前或之后运行操作。

Django的doc(1.7)中的预保存操作示例:

from django.db.models.signals import pre_save
from django.dispatch import receiver
from myapp.models import MyModel

@receiver(pre_save, sender=MyModel)
def my_handler(sender, **kwargs):
    # Do what you want here

注意:

只要您的信号代码被执行,就不会给客户端带来任何响应。因此,对于异步工作,我建议你Celery