我有一个Django项目,现在一切正常。我有一个Django管理站点,现在,我希望当我向我的模型添加一个新记录时,一个函数同时调用并开始一个进程。我怎么能这样做?这个动作的名字是什么?
答案 0 :(得分:0)
您可以使用django信号将models.py转到您的应用中,您可以执行此操作。
from django.db.models.signals import post_save class Test(models.Model): # ... fields here # method for updating def update_on_test(sender, instance, **kwargs): # custome operation as you want to perform # register the signal post_save.connect(update_on_test, sender=Test)
如果使用django admin将数据填充到表中,则可以使用modeladmin类的save()方法。
class TestAdmin( admin.ModelAdmin ): fields = ['title', 'body' ] form = TestForm def save_model(self, request, obj, form, change): # your login if you want to perform some comutation on save # it will help you if you need request into your work obj.save()