ed92991872
Agent-Logs-Url: https://github.com/dsaub/proyecto-final/sessions/49df17c8-213a-4e23-adfe-465a0104f6a3 Co-authored-by: dsaub <54474838+dsaub@users.noreply.github.com>
38 lines
1.1 KiB
Markdown
38 lines
1.1 KiB
Markdown
# `update_cart_item`
|
|
|
|
**Archivo:** `tienda/views.py`
|
|
**URL:** `/tienda/carrito/actualizar/<item_id>/`
|
|
**Tipo:** Vista pública
|
|
|
|
## Descripción
|
|
|
|
Actualiza la cantidad de un ítem del carrito.
|
|
|
|
- Si la nueva cantidad es mayor que cero, actualiza el registro.
|
|
- Si la nueva cantidad es cero o menor, elimina el ítem del carrito.
|
|
- Valida que la cantidad no supere el stock disponible.
|
|
- Cancela las reservas de stock activas antes de modificar el carrito.
|
|
|
|
## Firma
|
|
|
|
```python
|
|
def update_cart_item(request: HttpRequest, item_id: int):
|
|
```
|
|
|
|
## Parámetros
|
|
|
|
| Nombre | Tipo | Descripción |
|
|
|-----------|---------------|-----------------------------------|
|
|
| `request` | `HttpRequest` | Petición HTTP de Django. |
|
|
| `item_id` | `int` | ID del `CartItem` a actualizar. |
|
|
|
|
## Parámetros POST
|
|
|
|
| Campo | Tipo | Por defecto | Descripción |
|
|
|------------|-------|-------------|-----------------------|
|
|
| `quantity` | `int` | `1` | Nueva cantidad. |
|
|
|
|
## Redirecciones
|
|
|
|
Siempre redirige a `view_cart`.
|