Considerate questa query:In django, c'è un modo per annotare direttamente una query con un oggetto correlato in una singola query?
query = Novel.objects.< ...some filtering... >.annotate(
latest_chapter_id=Max("volume__chapter__id")
)
In realtà quello che mi serve è quello di annotare ogni Novel
con la sua ultima Chapter
oggetto, così dopo questa query devo eseguire un'altra query per selezionare oggetti reali per gli ID annotati. IMO questo è brutto. C'è un modo per combinarli in una singola query?
Potresti annotare i capitoli con i romanzi? –
Non mi sembra possibile, perché ho bisogno solo dell'ultimo capitolo per ogni romanzo, ma un romanzo ha molti capitoli e i capitoli sono in volumi diversi. Per quanto ne so, 'distinto()' non è utile in questo caso (correggimi se sbaglio), e non conosco altro modo per selezionare esattamente un capitolo tranne che per iniziare da un romanzo. Qualche idea? – SAPikachu