Django1.7 : 'list' 对象不可调用

Django1.7 : 'list' object is not callable

我收到 'list' 对象不可调用。

我的models.py

class KeyValues(models.Model):
    value=models.IntegerField(max_length=1,blank=True)

class Key(models.Model):
        position=models.IntegerField(max_length=1,default=0,blank=True)
        keyValues= key=models.ManyToManyField(KeyValues)

class FileDetails(models.Model):
    fileId = models.CharField(max_length = 100,primary_key=True,db_index=True)
    key=models.ManyToManyField(Key)

我的代码:

def Arrangement(fileid,key,user):
    Key=[]
    NewKey=[]
    Key[:0]=key

    length=len(key)
    for i in range (0,length):
        NewKey.append(str(ord(key[i])%5)) 
        pos=int(ord(key[i])%5)


        key_values=KeyValues(value=key[i])
        key_values.save()
        KeY=Key(position=pos)
        KeY.save()
        KeY.keyValues.add(key_values)
    KeY.save()
    filedetails=FileDetails.objects.get(fileId=fileid)
    filedetails.key.add(KeY)
    filedetails.save()

我得到 'list' object is not callable at

KeY=Key(position=pos)

为什么我会收到这样的错误?我该如何更正它?

您初始化了一个名为 Key 的列表,并且您还有一个名为 Key 的 class。将 Arrangement 方法第一行中的 Key 变量重命名为其他名称。

顺便说一句,您的命名约定非常混乱。尝试遵循 PEP8 或至少用小写字母命名变量。