Blog

Artículos, noticias y eventos de APSL

Combinación de QuerySets en Django

En ocasiones, las aplicaciones necesitan trabajar mostrando elementos filtrados por condiciones muy diferentes que en una consulta SQL quedan unidas por ORs. Al realizar estos filtrados en el ORM de Django solemos recurrir a los objetos Q y a los operadores | y &. El problema es que los QuerySets pueden ampliar sus condiciones de forma encadenada y los operadores Q se aplican directamente sobre una llamada a filter o exclude, pero no sobre el resto de condiciones ya existentes de QuerySet. En esos casos puede ser interesante aprovechar una funcionalidad poco conocida de Django: la combinación de QuerySets.

1 de Junio de 2016 · 2 min de lectura