Soy nuevo en Django, pero la aplicación que tengo en mente podría llegar a tener las URL que se ven así:¿Son posibles las consultas asíncronas del modelo de Django?
http://mysite/compare/id_1/id_2
Donde "id_1" y "ID_2" son identificadores de dos objetos de modelos distintos. En el controlador para "comparar" me gustaría asincrónicamente, y en paralelo, consultar y recuperar objetos id_1 e id_2.
¿Hay alguna manera de hacer esto usando una sintaxis estándar de Django? Estoy esperando pseudocódigo que termina buscando algo como esto:
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: Interesante pregunta :-) –
Ya que todo se almacena en caché, no creo que te gustaría ver cualquier ganancia de este tipo de cosas. ¿Su objeto recupera realmente la parte más lenta de su aplicación? –
Todo no se almacenará en caché, y esto es en realidad solo una versión simple del diseño real que estoy considerando. Imagine algo así como "buscar todas las publicaciones en este hilo" para el software del foro. La cantidad de publicaciones puede ser muy grande (1000) y el patrón de acceso puede ser tal que no estén todas en la memoria caché. – slacy