7. Recuerda que todo esto está en la base de datos

Cuando utilizas la API en el navegador o en Postman, no estás trabajando con archivos ni datos temporales, sino con una base de datos real (MySQL, en este caso).

Cada vez que haces una petición a la API (GET, POST, PUT, PATCH o DELETE), estás modificando directamente la base de datos MySQL.

Lo que ves en el navegador o en Postman refleja exactamente lo que hay dentro de la tabla productos_producto.

La API es simplemente la “puerta de entrada” para leer, crear o modificar datos en la base de datos.

Cada vez que creas un producto (POST)

Cuando envías datos como:

{
  "nombre": "Teclado Mecánico RGB",
  "precio": 49.99,
  "stock": 20
}
  • Django REST Framework recibe el JSON
  • Lo valida con el serializador
  • Crea un nuevo objeto Producto
  • Lo guarda en la tabla productos_producto de MySQL

En SQL sería algo como:

INSERT INTO productos_producto (nombre, descripcion, precio, stock, disponible, categoria_id)
VALUES ("Teclado Mecánico RGB", "Teclado gaming con luces", 49.99, 20, 1, 1);
Cuando listas todos los productos (GET)

Al entrar en:

/api/productos/

Django hace una consulta SQL:

SELECT * FROM productos_producto;

Y convierte cada fila de la tabla en un objeto JSON.

Cuando ves un producto concreto (GET /id/)

Al entrar en

/api/productos/3/

Django ejecuta:

SELECT * FROM productos_producto WHERE id = 3 LIMIT 1;

Y te devuelve ese producto en formato JSON.

Cuando actualizas un producto (PUT o PATCH)

Ejemplo

{
  "precio": 39.99
}

Django localiza ese registro por ID

Modifica solo los valores enviados (PATCH)

Y ejecuta:

UPDATE productos_producto
SET precio = 39.99
WHERE id = 3;
Cuando borras un producto (DELETE

Al hacer:

DELETE /api/productos/4/

Django ejecuta:

DELETE FROM productos_producto WHERE id = 4;

Ese producto desaparece totalmente de la base de datos.