Search code examples
pythondjangolistpython-2.7django-1.7

Django1.7 : 'list' object is not callable


I'm getting 'list' object is not callable.

My 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)

My code :

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()

I'm getting 'list' object is not callable at

KeY=Key(position=pos)

Why i'm getting such an error ? How can i correct it ?


Solution

  • You initialized a list named Key, and you also have a class named Key. Rename the Key variable in the first line in your Arrangement method to something else.

    Your naming conventions is very confusing, by the way. Try to follow PEP8 or at least name your variables in lowercase.