14

我不断收到此错误:

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

我有一个这样的 Employeephone_number模型CharField

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 对象。

谢谢!

4

1 回答 1

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
于 2013-03-27T18:20:33.273 回答