У меня есть два класса моделей: Продавец и Клиент , у которых есть однотонный ключ от Модель пользователя . Теперь у меня есть вид
@require_customer()
def add_to_wishlist(request, pk):
product = Product.objects.get(pk=pk)
customer = Customer.objects.get(user=request.user)
wl = WishListProduct(product=product, customer=customer)
wl.save()
return HttpResponse("Added to Wish List !")
А Декоратор выглядит следующим образом:
def require_customer(function=None, redirect_field_name=REDIRECT_FIELD_NAME, login_url='/login/'):
def is_customer(u):
return Customer.objects.filter(user=u).exists()
actual_decorator = user_passes_test(lambda u: u.is_authenticated and is_customer, login_url=login_url,
redirect_field_name=redirect_field_name)
if function:
return actual_decorator(function)
else:
return actual_decorator
Теперь, если я вошел в систему как владелец магазина, и я вызываю это представление со следующим URL:
path('products/<pk>/addToCart/', views.add_to_cart, name='add_to_cart'),
Он должен перенаправить на страницу входа, но вместо этого выдает ошибку как
OnlineShops.models.DoesNotExist: Customer matching query does not exist.
Можете ли вы помочь мне найти ошибку здесь?