Sono nuovo di Django, ma l'applicazione che ho in mente potrebbe finire per avere gli URL che assomigliano a questo:Le query di modello Django asincrono sono possibili?
http://mysite/compare/id_1/id_2
Dove "ID_1" e "ID_2" sono identificatori di due oggetti del modello distinti. Nel gestore di "compare" mi piacerebbe in modo asincrono e, in parallelo, interrogare e recuperare gli oggetti id_1 e id_2.
C'è un modo per farlo utilizzando una sintassi standard di Django? Spero in pseudocodice che finisce per guardare qualcosa di simile:
import django.async
# Issue the model query, but set it up asynchronously.
# The next 2 lines don't actually touch my database
o1 = Object(id=id_1).async_fetch()
o2 = Object(id=id_2).async_fetch()
# Now that I know what I want to query, fire off a fetch to do them all
# in parallel, and wait for all queries to finish before proceeding.
async.Execute((o2,o2))
# Now the code can use data from o1 and o2 below...
+1: Domanda interessante :-) –
Dal momento che tutto è memorizzato nella cache, dubito che ci si vede qualsiasi guadagno da questo genere di cose. I tuoi oggetti sono davvero la parte più lenta della tua applicazione? –
Tutto non verrà memorizzato nella cache, e questa è in realtà solo una semplice versione del progetto attuale che sto considerando. Immagina qualcosa come "scarica tutti i post in questo thread" per il software del forum. Il numero di post potrebbe essere molto grande (1000) e il modello di accesso potrebbe essere tale da non essere tutti memorizzati nella cache. – slacy