Подтвердить что ты не робот

Объект '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

У меня есть модель Employee с phone_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. Все, что я хочу сделать, это получить объект Employee с определенным значением номер_собрания.

Спасибо!

4b9b3361

Ответ 1

Проблема в этой строке 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