Django Signal via Decorator no Model Method?

Estou tentando fazer algo comoesses decoradores de sinal propostos. Além de ter um decorador que conecta o método decorado a um sinal (com o remetente do sinal como argumento para o decorador), eu gostaria de usar o decorador nos métodos de classe.

Eu gostaria de usar o decorador da seguinte forma:

class ModelA(Model):

    @connect.post_save(ModelB)
    @classmethod
    def observe_model_b_saved(cls, sender, instance, created, **kwargs):
        # do some stuff
        pass

O decorador é:

from django.db.models import signals
def post_save(sender):
    def decorator(view):
        signals.post_save.connect(sender=sender, receiver=view)
        return view
    return decorator

O erro que recebo quando faço isso é:

File "/Library/Python/2.6/site-packages//lib/python2.6/site-packages/django/dispatch/dispatcher.py", line 78, in connect
AssertionError: Signal receivers must be callable.

Eu acho que o problema é que@classmethod retorna um objeto de método de classe que não pode ser chamado. Eu realmente não entendo comoclassmethod funciona sob o capô, mas suponho queesta página de referência que o objeto do método da classe não é convertido em uma chamada até que seja acessado a partir da classe, por exemplo,ModelA.observe_model_b_saved. Existe alguma maneira de eu (1) definir meu método como um método de classe ou instância em um modelo e (2) conectá-lo a um sinal usando um decorador diretamente na definição do método? Obrigado!

questionAnswers(3)

yourAnswerToTheQuestion