Foo
유형의 객체를 추가하거나 제거 할 때 동일한 계산을 수행해야합니다. Foo
모델의 오브젝트 추가/삭제를 어떻게 감지합니까? 예를 들어 :Django 모델의 객체를 추가/삭제할 때 어떻게 감지 할 수 있습니까?
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)
아니요. 왜? 중복이 없습니다. 이것은 완벽 해. 그리고 아주 간단합니다. 그리고 모두가 기대하는 것. 너 그것에 대해 맘에 안들니? –