2016-04-07 1 views
0

私は、Python(Django)でいくつかのアクションを実装しようとしていますが、sqlite dbのデータが変更されたときはいつも。 データの入力元が異なります。sqliteでデータが変更されたときに何らかのアクションを実装する方法は?

現在、計画は2分ごとにスレッド上のdbを監視し続けることです。

私は、実装するより良い方法があるかどうかを知りたいと思います。

+0

Pythonコードでのみ変更されますか? –

+0

さまざまな情報源の意味は?他のアプリケーションがデータベースにデータを挿入しているのですか、それともdjangoだけですか? – Tim

+0

別のアプリケーションでデータを挿入しています –

答えて

2

このジョブには、Djangoのpost_save信号を使用できます。

from django.db.models.signals import post_save 
from django.dispatch import receiver 

class MyModel(models.Model): 
    # fields 

# connect a receiver 
@receiver(post_save, sender=MyModel) 
def do_some_action(sender, instance, **kwargs): 
    do_that_action(instance) 

MyModelオブジェクトが保存されるたびに、do_some_action関数が呼び出されます。

参照:Django docs about signals

関連する問題