HATEOAS: tu API REST podría ser solo CRUD

En los equipos se escucha con frecuencia “tenemos una API REST”. Pero al revisar las respuestas JSON, no hay ningún enlace. Solo datos en crudo. Eso no es REST, es CRUD expuesto en HTTP. La diferencia la marca un principio que la mayoría de los desarrolladores ignora: HATEOAS. ¿Qué es HATEOAS en una API REST? HATEOAS significa Hypermedia As The Engine Of Application State. Es una de las restricciones fundamentales del REST, definida por Roy Fielding en su tesis del año 2000. ...

4 de mayo de 2026 · 3 min · Anthony

Django Window Function vs GROUP BY: QuerySets encadenables

Con el ORM de Django hay dos formas de añadir un valor calculado sobre un conjunto de filas: annotate() con una agregación clásica (Max, Count, Sum…) o annotate() con una Window function. A simple vista se parecen. En la práctica, su comportamiento es fundamentalmente distinto — y elegir la opción equivocada puede bloquear toda la cadena de filtrado. GROUP BY con annotate(): filas que se comprimen Cuando combinamos values() y annotate() con una agregación, Django genera un GROUP BY en SQL. El resultado: las filas se agrupan y obtenemos una fila por grupo. ...

4 de mayo de 2026 · 4 min · Anthony

Django in_bulk(): por qué es mejor que filter() en masa

Cuando tenemos una lista de identificadores y queremos recuperar las instancias correspondientes, el reflejo habitual en Django es filter(pk__in=[...]). Funciona — una sola consulta SQL. Pero in_bulk() es una optimización ORM frecuentemente ignorada: retorna un diccionario {id: instancia} en lugar de un QuerySet, lo que cambia radicalmente la forma de acceder a los resultados. Donde filter() obliga a un recorrido O(n) para encontrar un objeto por su ID, in_bulk() da acceso directo O(1). ...

4 de mayo de 2026 · 4 min · Anthony

¿Por qué un blog sobre Python, Django y FastAPI?

Este blog es ante todo un espacio de intercambio: descubrimientos, reflexiones, cosas que me han sido útiles y que podrían serlo para otros. Python, Django, FastAPI y DRF: el núcleo del blog El núcleo del blog es el desarrollo en Python, y más concretamente los frameworks que estructuran mi día a día: Django, FastAPI y Flask. Cada uno tiene sus puntos fuertes, sus casos de uso, sus trampas. Profundizaremos en todos ellos. ...

4 de mayo de 2026 · 2 min · Anthony

Newsletter

Reçois les nouveaux articles directement dans ta boite mail.

Pas de spam. Désabonnement en un clic.