considerar esta consulta:En django, ¿hay alguna manera de anotar directamente una consulta con un objeto relacionado en una sola consulta?
query = Novel.objects.< ...some filtering... >.annotate(
latest_chapter_id=Max("volume__chapter__id")
)
En realidad lo que necesito es para anotar cada Novel
con su última Chapter
objeto, así que después de esta consulta que tengo que ejecutar otra consulta para seleccionar objetos reales anotados por IDS. OMI esto es feo. ¿Hay alguna manera de combinarlos en una sola consulta?
¿Podría anotar capítulos con novelas en su lugar? –
No me parece posible, porque solo necesito el último capítulo para cada novela, pero una novela tiene muchos capítulos y los capítulos están en diferentes volúmenes. Por lo que sé, 'distinct()' es inútil en este caso (corrígeme si estoy equivocado), y no conozco otra forma de seleccionar exactamente un capítulo, excepto para comenzar desde la novela. ¿Algunas ideas? – SAPikachu