2013-03-26 100 views
0

我发现了以下错误:Django的类型错误: 'INT' 对象不是可调用

类型错误: 'INT' 对象不是可调用

响应=接收器(信号=自,发件人= sender,** named) 文件“/Users/user/Documents/workspace/LiveWireSMS/sms/models/message.py”,行156,my_handler 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 

有人能解释错误?谢谢。

回答

1

你得到这个错误,因为length返回一个int对象,你试图调用它。

instance.charge = instance.length # instead of instance.length(instance.content)