Мои пункты заказа и заказ сохраняются в админке django, но не отображаются в шаблоне корзины, и количество не обновляется до 3nos

Здесь я пытаюсь добавить товар в корзину. Но я столкнулся с некоторыми проблемами. Во-первых, в шаблоне корзины не отображаются объекты, которые я хочу добавить в корзину, но в админке django товары видны. Однако количество товара не увеличивается само по себе. Два одинаковых продукта добавляются с номерами 1, 2. Однако, когда я пытаюсь добавить один и тот же продукт трижды, то происходит дублирование второго добавленного продукта .Вы можете видеть скриншот ниже : the increment of the product is not working properly

views.py:

@login_required
def add_to_cart(request, uid):
    item = AffProduct.objects.get(uid=uid)
    try:
        order_item = OrderItem.objects.create(
            item=item,
            user=request.user,
            ordered=False
        )
    except:
        order_item = None
    order_qs = Order.objects.filter(user=request.user, ordered=False)
    if order_qs.exists():
        order = order_qs[0]
        # check if the order item is in the order
        if order.items.filter(item__uid=item.uid).exists():
            order_item.quantity = order_item.quantity + 1
            order_item.save()
            print(order_item)
            messages.info(request, "This item quantity was updated.")
            return redirect("cart")
        else:
            order.items.add(order_item)
            print(order_item)
            messages.info(request, "This item was added to your cart.")
            return redirect("cart")
    else:
        ordered_date = timezone.now()
        order = Order.objects.create(
            user=request.user, ordered_date=ordered_date)
        order.items.create(order_item)
        print(order_item)
        messages.info(request, "This item was added to your cart.")
        return redirect("cart")

models.py

class OrderItem(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    ordered = models.BooleanField(default=False)
    item = models.ForeignKey(AffProduct, on_delete=models.CASCADE)
    quantity = models.IntegerField(default=1)

    def __str__(self):
        return f"{self.quantity} of {self.item.product_title}"

    def get_total_item_price(self):
        return self.quantity * self.item.sale_price

    def get_total_discount_item_price(self):
        return self.quantity * (self.item.discount/Decimal('100'))

    def get_amount_saved(self):
        return self.get_total_item_price() - self.get_total_discount_item_price()

    def get_final_price(self):
        if self.item.discount_price:
            return self.get_total_discount_item_price()
        return self.get_total_item_price()

class Order(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    items = models.ManyToManyField(OrderItem)
    start_date = models.DateTimeField(auto_now_add=True)
    ordered_date = models.DateTimeField()
    ordered = models.BooleanField(default=False)

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

    def get_total(self):
        total = 0
        for order_item in self.items.all():
            total += order_item.get_final_price()
        return total

Также есть еще одна модель в другом приложении внутри того же проекта, откуда я получаю все продукты в этом приложении. Продукты хранятся здесь. Имя этой модели "AffProduct". cart.html

<main>
    <div class="container">

    <div class="table-responsive text-nowrap">
    <h2>Order Summary</h2>
    <table class="table">
        <thead>
        <tr>
            <th scope="col">#</th>
            <th scope="col">Item title</th>
            <th scope="col">Price</th>
            <th scope="col">Quantity</th>
            <th scope="col">Total Item Price</th>
        </tr>
        </thead>
        <tbody>
        {% for item in order %}
        <tr>
            <th scope="row">{{ forloop.counter }}</th>
            <td>{{ item.product_title }}</td>
            <td>{{ item.item.sale_price }}</td>
            <td>
                <a href=""><i class="fas fa-minus mr-2"></i></a>
                {{ item.quantity }}
                <a href="{% url 'add-to-cart' order_item.item.uid %}"><i class="fas fa-plus ml-2"></i></a>
            </td>
            <td>
            {% if item.discount %}
                ${{ item.get_total_discount_item_price }}
                <span class="badge badge-primary">Saving ${{ item.get_amount_saved }}</span>
            {% else %}
                ${{ item.get_total_item_price }}
            {% endif %}
            <a style='color: red;' href="{% url 'remove-from-cart' %}">
                <i class="fas fa-trash float-right"></i>
            </a>
            </td>
        </tr>
        {% empty %}
        <tr>
            <td colspan='5'>Your cart is empty</td>
        </tr>
        <tr>
            <td colspan="5">
            <a class='btn btn-primary float-right' href='/'>Continue shopping</a>
            </td>
        </tr>
        {% endfor %}
        <!--{% if object.coupon %}
        <tr>
            <td colspan="4"><b>Coupon</b></td>
            <td><b>-${{ object.coupon.amount }}</b></td>
        </tr>
        {% endif %}-->
        {% if object.get_total %}
        <tr>
            <td colspan="4"><b>Order Total</b></td>
            <td><b>${{ object.get_total }}</b></td>
        </tr>
        <tr>
            <td colspan="5">
            <a class='btn btn-warning float-right ml-2' href=''>Proceed to checkout</a>
            <a class='btn btn-primary float-right' href='/'>Continue shopping</a>
            </td>
        </tr>
        {% endif %}
        </tbody>
    </table>

    </div>

    </div>
  </main>
Вернуться на верх