Me gustaría filtrar un queryset por si una determinada subconsulta devuelve algún resultado. En SQL esto podría verse así:¿Cómo se "filtra" por "existe" en Django?
SELECT * FROM events e WHERE EXISTS
(SELECT * FROM tags t WHERE t.event_id = e.id AND t.text IN ("abc", "def"))
En otras palabras, recupera todos los eventos que están etiquetados con una de las etiquetas especificadas.
¿Cómo puedo expresar esto usando la API QuerySet de Django en los modelos Event
y Tag
?
Gracias Manoj, que parecen olvidar a menudo para tratar la "obvia" en Django y empezar a pensar en algo que es bastante complicado. –