Scorpion_MB
@Scorpion_MB
Изучаю Питон

Почему вызываются два исключения?

Есть код в представлении. Если такого элемента нет в модели (в базе данных), то должно вызываться стандартное исключение.
Entry.objects.get(id=-999) # raises Entry.DoesNotExist

Но на практике вызывается еще одно исключение, что такого поля в модели нет и вылетает ошибка:
type object 'Coupon' has no attribute 'DoesNotExists'

Почему?

@require_POST
def coupon_apply(request):
    now = timezone.now()
    form = CouponApplyForm(request.POST)
    if form.is_valid():
        code = form.cleaned_data['code']
        try:
            coupon = Coupon.objects.get(code__iexact=code,
                                        valid_from__lte=now,
                                        valid_to__gte=now,
                                        active=True)
            request.session['coupon_id'] = coupon.id
        except Coupon.DoesNotExists:
            request.session['coupon_id'] = None
    return redirect('cart:cart_detail')
  • Вопрос задан
  • 59 просмотров
Решения вопроса 1
Scorpion_MB
@Scorpion_MB Автор вопроса
Изучаю Питон
Подсказали. Опечатка:
DoesNotExist
DoesNotExists
Вопрос закрыт.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@bacon
В смысле почему? Тебе же явно пишут, что у Coupon нет атрибута DoesNotExists
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы