2013-03-27 173 views
13

我不斷收到此錯誤:「instancemethod」對象有沒有屬性「__getitem__」

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_number一個Employee模型作爲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數據從一個機器人應用程序發送。我想要做的就是檢索具有特定phone_number值的Employee對象。

謝謝!

回答

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 
+0

嗯,至今沒有運氣:我用:TEL = request.POST.get ['tel_number'],同樣typeError當我發送發佈數據時,用'tel_number'鍵 – bluecat 2013-03-27 18:26:35

+1

請看清楚。我使用'()'括號而不是這個'[]'。所以它應該是'tel = request.POST.get('tel_number')' – 2013-03-27 18:30:58

+0

從頭開始,它工作了(我應該更仔細地閱讀這些錯誤,現在是一個新的錯誤,但我明白了!),謝謝您耐心等待Aamir – bluecat 2013-03-27 19:07:54

相關問題