'instancemethod'对象没有属性'__getitem__'

时间:2013-03-27 18:17:17

标签: django django-views

我一直收到这个错误:

TypeError: 'instancemethod' object has no attribute '__getitem__'

我在django网站上的特殊观点,我正在玩。我不知道为什么,但我觉得它可能与我从模型中检索特定对象的方式有关。

此处发生错误:

def myview(request):
    if request.method == 'POST':
        tel = request.POST.get['tel_number']
        person = get_object_or_404(Employee,phone_number=tel) # HERE

我的员工模型phone_numberCharField,因此:

class Employee(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)
    phone_number = models.CharField(max_length=10)

request.POST数据是从android应用程序发送的。我想要做的就是检索具有特定phone_number值的Employee对象。

谢谢!

1 个答案:

答案 0 :(得分:16)

问题出在这一行tel = request.POST.get['tel_number']。如果您使用.get,则应将密钥作为参数传递:

tel = request.POST.get('tel_number') # if key is not present by default it will return None

否则你可以这样做:

tel = request.POST['tel_number'] # raise KeyError Exception if key is not present in dict