Nel mio caso specifico, ho due tipi di "messaggi" che ho bisogno di ritirare e impaginare.Utilizzo di django come è possibile combinare due query da modelli separati in un'unica query?
Diamo omettere i dettagli, e solo dire che il primo tipo è in un modello chiamato Msg1 e l'altra si chiama MSG2
I campi di questi due modelli sono completamente diversi, gli unici campi che sono comuni agli due modelli sono "date" e "title" (e, naturalmente, id).
Posso ottenere Msg1.objects.all()
e Msg2.objects.all()
ma posso combinare queste due query in una query, ordinarla per data e impaginarla?
Ho bisogno di preservare la natura pigra della query.
La soluzione banale è a list(query)
entrambe le query e combinarle in un elenco python. ma questo è inefficiente per ovvi motivi.
Ho guardato attraverso i riferimenti Django su modelli e dp-api, ma non sembra che ci sia un modo per combinare query di diversi modelli/tabelle in uno.
"inefficiente per ovvi motivi" Davvero? Hai metriche? Chiedo perché non c'è una ragione ovvia per cui sarebbe inefficiente. –
Penso perché una volta elencato (query) ottiene tutti i risultati, e vuole lasciarlo il più tardi possibile. –
inefficiente perché colpisce il database per TUTTI gli articoli, (potrebbe essere 1000) mentre visualizza solo 20 per pagina o giù di lì .. – hasen