我收到以下错误:
TypeError:'int'对象不可调用
响应=接收者(信号=自我,发件人=发件人,**已命名) 在my_handler中输入文件“/Users/user/Documents/workspace/LiveWireSMS/sms/models/message.py”,第156行 instance.charge = instance.length(instance.content)
从这段代码:
@receiver(pre_save, sender=Message)
def my_handler(sender, **kwargs):
instance = kwargs['instance']
if not instance.charge:
instance.charge = instance.length(instance.content)
这是它的调用功能:
@property
def length(self):
return len(self.content) / 160 + 1
有人可以解释错误吗?谢谢。
答案 0 :(得分:1)
您收到此错误是因为length
返回int
个对象而您试图调用它。
instance.charge = instance.length # instead of instance.length(instance.content)