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.
Graduado en Ingeniería Informática por la Universidad de Valladolid, he trabajado en dicha ciudad en aplicaciones desktop, móviles y, sobre todo, web, para grandes y pequeñas consultoras y organismos de gobierno.
He usado tantos lenguajes de programación en proyectos profesionales o personales que no consigo recordarlos todos, pero me he quedado con Python y Javascript.
Hace casi dos años decidí probar cosas nuevas y me mudé a Madrid para aprender de y ayudar a crecer a lo que entonces era una startup (estamos orgullosos de decir que ya no tanto), StyleSage, donde construimos una plataforma web orientada al sector de la moda, pero no esperéis que tenga buen gusto al vestir.