1

我可以将 post_save 与作为类的方法的侦听器一起使用吗?

我想要的是:

class UpdCatalog(models.Model):
    file = models.FileField(upload_to="catalog/")

class SomeClass:
    def codeType(text):
        row_code = text[0], text[1]
        return row_code, row_type

    def main(sender, instance, created, **kwargs):
        text = ["q", "w", "e". "r"]
        row_code, row_type = codeType(text)

signals.post_save.connect(SomeClass.main, sender=UpdCatalog)

当我尝试运行时main,不会调用此代码。没有错误。

当听众不在课堂上时,一切正常。

4

1 回答 1

1

您需要研究函数和实例方法之间的区别。在您的情况下,您可以使用staticmethod装饰器。

class SomeClass:
    ...

    @staticmethod
    def main(sender, instance, created, **kwargs):
        text = ["q", "w", "e". "r"]
        row_code, row_type = codeType(text)
于 2012-09-15T10:43:35.013 回答