django signals using decorators issue

 ̄綄美尐妖づ 提交于 2019-12-11 22:02:11

问题


I have the below given structure in my project

-parentDirectory
 -myModule
   __init__.py
   models.py
 handler.py


models.py

@register
class Student():
    number = models.PositiveIntegerNumber(unique=True)
    name = models.CharField(max_length=64)

def post_delete:
    """some code"""

def post_save:
    """some code"""

@register
class Course(SomeBaseModel):
    code = models.CharField(unique=True)
    teacher = models.CharField(max_length=64)

SomeBaseModel has post_delete and post_save functions defined in it.

handler.py

def register(cls_object):
    @receiver(post_save, sender=cls_object.__name__)
    @receiver(post_delete, sender=cls_object.__name__)
    def _handler(sender, **kwargs):
        print 'inside _handler'

post_save.connect(_handler, sender=cls_object.__name__)
post_delete.connect(_handler, sender=cls_object.__name__)
return cls_object

The _handler is not getting executed when I delete any of the models. What am I missing?

来源:https://stackoverflow.com/questions/31691004/django-signals-using-decorators-issue

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!