Charla

Exprimiendo el ORM de Django

Héctor Pablos López

  • 24 September 2017, noon - 12:30 p.m.
  • Room Skyscanner
  • Idioma: es

Exprimiendo el ORM de Django

Muchas veces nos resulta mucho más fácil escribir una consulta a base de datos en SQL plano que lidiar con las limitaciones del ORM de Django, perdiendo así la gran potencia y limpieza que este nos ofrece.

Los operadores Q() y F() son, muchas veces, algo que copiamos de la documentación sin entender completamente. Hacer joins simples puede no ser posible, y no hablemos de joins con claves foráneas de más de una columna.

Acabamos abusando del método extra() y la clase RawSQL cuando, en realidad, pueden no ser necesarios.

La experiencia nos ha enseñado a sacar el máximo partido de esta funcionalidad y exprimir al máximo sus posiblidades, limitando al máximo la escritura de código SQL plano. Explicaremos cómo, mediante la definición de algunos elementos básicos e intermedios para manipular querysets y la presentación de algunos trucos útiles.

Puede que te ahorre un par de consultas a la documentación y que descubras alguna cosa nueva, o simplemente que vuelvas a apreciar el ORM de Django.