我可以使用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
未被调用。没有错误。
当听众不在课堂上时,一切正常。
答案 0 :(得分:1)
您需要研究函数和实例方法之间的区别。在您的情况下,您可以使用staticmethod
装饰器。
class SomeClass:
...
@staticmethod
def main(sender, instance, created, **kwargs):
text = ["q", "w", "e". "r"]
row_code, row_type = codeType(text)