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 或至少用小写字母命名变量。
我收到 '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 或至少用小写字母命名变量。