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

时间:2015-03-15 21:31:01

标签: python django list python-2.7 django-1.7

我得到'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'对象在

时无法调用
  

键=密钥(位置= POS)

为什么我会收到这样的错误?我怎么能纠正它?

1 个答案:

答案 0 :(得分:1)

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

顺便说一句,您的命名约定非常混乱。尝试关注PEP8或至少以小写命名变量。