post_save()信号在Django中什么时候执行



我想覆盖一个连接到postrongave((信号的save((方法,如果我覆盖了,信号什么时候执行?方法何时结束,或者我何时调用super?在这里,我用代码解释我的问题:

def __init__(self, *args, **kwargs):
super(Model, self).__init__(*args, **kwargs)
self.__original_field = self.field
def save(self, force_insert=False, force_update=False, *args, **kwargs):
if self.__original_field < self.field:
# Do something

# The signal will be executed after this line?
super(Model, self).save(force_insert, force_update, *args, **kwargs)
# Or after this line?        
self.__original_field = self.field

我使用调试器来解决这个问题,结果发现信号在super((之后执行,然后执行save((方法的其余部分。

最新更新