Почему я получаю форму Django: Ошибка ключа

Я создаю систему управления аукционом, в которую я собирался добавить функциональность ставки и знаю, что столкнулся с этой ошибкой

я выделяю строку, в которой я получаю ошибку

view.py

class ItemDetailView(CreateView):
    template_name = "itemdetail.html"
    form_class = BidOnProduct
    success_url = reverse_lazy("auction:item_detail")

    def dispatch(self, request, *args, **kwargs):
        buyer_id = request.session.get("id")
        buyer_obj = Buyer.objects.filter(id=buyer_id)
        if buyer_obj:
            pass
        else:
            return redirect("auction:buyer_login")
        return super().dispatch(request, *args, **kwargs)

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        item = Item.objects.get(slug=kwargs["slug"])
        bids = Bid.objects.filter(item=item)

        context["item"] = item
        context["bids"] = bids
        return context

    def form_valid(self, form):
        buyer_id = self.request.session.get("id")
        if buyer_id:
            buyer_obj = Buyer.objects.get(id=buyer_id)
            form.instance.buyer = buyer_obj
            form.instance.item = Item.objects.get(slug=self.kwargs["slug"])
            form.save()
            return redirect("auction:buyerhome")
        return super().form_valid(form)

form.py

class BidOnProduct(forms.ModelForm):
    class Meta:
        model = Bid
        fields = ["price"]
<
class Bid(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    date = models.DateField(auto_now_add=True)
    item = models.ForeignKey(Item, on_delete=models.CASCADE)
    price = models.IntegerField()
    biding_time = models.DateTimeField(auto_now_add=True, null=True)

    def __str__(self):
        return self.user.username

htmlcode

    {% if request.user.buyer %}
    <form class="form-horizontal" action="" method="post"">
        {% csrf_token %}
        {{form.as_p}}
        <button class=" btn btn-info"> Add product</button>
    </form>
    {%endif%}

это ошибка

Это линия

Url.py

 path("item/<slug:slug>/", ItemDetailView.as_view(), name="item_detail"),

В ItemDetailView у вас есть:

def get_context_data(self, **kwargs):
    context = super().get_context_data(**kwargs)
    item = Item.objects.get(slug=kwargs["slug"])  # Error line
    bids = Bid.objects.filter(item=item)

    context["item"] = item
    context["bids"] = bids
    return context
В строке с ошибкой

вы обращаетесь к kwargs, которые передаются в get_context_data. Это не то же самое, что self.kwargs (kwargs из URL), эти kwargs - просто ярлык для обновления контекста со всеми переданными значениями. Вам нужно использовать self.kwargs:

def get_context_data(self, **kwargs):
    context = super().get_context_data(**kwargs)
    item = Item.objects.get(slug=self.kwargs["slug"])  # Here
    bids = Bid.objects.filter(item=item)

    context["item"] = item
    context["bids"] = bids
    return context
Вернуться на верх