Ошибка перенаправления из-за того, что контекст передается шаблону - Django

Я работаю над сайтом электронной коммерции, используя Django. Я столкнулся с проблемой, для которой не могу найти решение. Мой сайт обрабатывает обычные товары и пользовательские заказы. У меня есть представление для обновления количества пользовательских заказов и отдельное представление для обновления количества товаров. Я использую форму с некоторой шаблонной логикой в URL, чтобы решить, какой шаблон URL мне нужен в зависимости от того, является ли это пользовательским заказом или товаром.

bag.html

<form class="form"
    action="{% if custom_orders %}{% url 'custom_order_update' item.custom_order.id %}{% else %}{% url 'update_bag' item.product_id %}{% endif %}"
    method="POST">
    {% csrf_token %}
    <div class="col-12">
        <div class="form-group w-100">
            <div class="input-group">
                <div class="input-group-prepend">
                    <button class="btn btn-main rounded-0 decrement" id="decrement_{{item.product.id}}"
                        data-product_id="{{ item.product.id }}">
                        <span class="icon">
                            <i class="fa-sharp fa-solid fa-less-than"></i>
                        </span>
                    </button>
                </div>
                <input class="form-control quantity" type="number" name="quantity" value="{{item.quantity}}" min="1"
                    max="50" id="quantity_{{item.product.id}}" data-product_id="{{ item.product.id }}">
                <div class="input-group-append">
                    <button class="btn btn-main rounded-0 increment" id="increment_{{item.product.id}}"
                        data-product_id="{{ item.product.id }}">
                        <span class="icon">
                            <i class="fa-sharp fa-solid fa-greater-than"></i>
                        </span>
                    </button>
                </div>
            </div>
        </div>
    </div>
    <button class="btn btn-main btn-sm rounded-0 mt-2">
        Update
    </button>
</form>

Если я добавляю обычные товары в приложение "Сумка", а затем добавляю пользовательский заказ, то получаю ошибку перенаправления, которая гласит: Reverse for 'custom_order_update' with arguments '('',)' not found. Проверен 1 шаблон(ы): ['custom_order/update_custom_order/(?P[0-9]+)/\Z']. Эта ошибка возникает на странице до того, как я дойду до страницы bag.html.

Ошибка возникает, когда я пытаюсь добавить пользовательский заказ в сумку, если в сумке есть другие товары здесь:

 <a href="{% url 'add_custom_order' custom_order.id %}" class="btn btn-main btn-lg rounded-0 add-to-bag mt-5">
            <span class="icon">
                <i class="fa-solid fa-bag-shopping"></i>
            </span>
            <span>Add to Bag</span>
        </a>

Я отправляю контекст custom_order в представление, которое отображает страницу bag.html, поскольку другие представления используют редирект.

def view_bag(request):
    """
    A view to return bag page
    """
    bag = request.session.get('bag', {})
    custom_orders = bag.get('custom_orders', [])

    context = {
        'custom_orders': custom_orders
    }
    return render(request, 'bag/bag.html', context)

Я думаю, что url в форме в bag.html не должен срабатывать до тех пор, пока форма не будет отправлена, но это мешает мне добавить пользовательский заказ в сумку.

Вернуться на верх