添加或删除Foo
类型的对象时,我需要进行相同的计算。如何检测Foo
模型对象的添加/删除?例如:
from django.db import models
class Foo(models.Model):
...
def save(self):
#do some processing
def delete(self):
#do some processing
我可以避免这两种方法中的代码重复吗?
使用信号,您可以像这样实现它
from django.db import models
from django.db.models.signals import post_save, post_delete
class Foo(models.Model):
...
...
def foo_handler(sender, **kwargs):
#do some processing
post_save.connect(foo_handler, sender=Foo)
post_delete.connect(foo_handler, sender=Foo)