django シグナル受け取るよー
最近djangoやってます。pythonデビューです。
djangoのシグナルは、CakePHPで言えばコールバックメソッドのafterDelete()とかそんなのだ。
モデルでいろいろ動いたよ!というシグナルを送ってくれるので、それを受け取って動けばいいじゃんという。
例は、Hogeのモデルでdeleteした後にMogeモデルのhoge_idが同じデータを消したいの巻
・model.py
from django.db import models from django.db.models import signals #シグナルよみこみ #まあなんかいろいろモデルの設定があって # delete後に呼びたい処理 # instanceにはdeleteされたhogeのデータ def hoge_delete(sender, instance, **kwargs): moge = Moge.objects.filter(hoge_id=instance.id) moge.delete() signals.post_delete.connect(hoge_delete, sender=Hoge)
post_deleteのほかにもpost_saveとかあります。
引数は、呼びたいdefと、どのモデルの時に呼ぶか、です。
そしてブログに通信簿がつきました
というか前にやって貼るの忘れていました。
いろいろと間違っているけど気楽だけなら5くらい取れそうなのに。