Je suis nouveau à Django, mais l'application que j'ai à l'esprit pourrait finir par avoir des URL qui ressemblent à ceci:Les requêtes de modèle Django asynchrones sont-elles possibles?
http://mysite/compare/id_1/id_2
Où « ID_1 » et « id_2 » sont des identifiants de deux objets modèles distincts. Dans le gestionnaire de "comparer", je voudrais asynchrone, et en parallèle, interroger et récupérer les objets id_1 et id_2.
Y at-il un moyen de le faire en utilisant une syntaxe Django standard? J'espère pour pseudocode qui finit par regarder quelque chose comme ceci:
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: Question intéressante :-) –
Puisque tout est mis en mémoire cache, je doute que vous verriez tout gain de ce genre de chose. Votre objet récupère-t-il vraiment la partie la plus lente de votre application? –
Tout ne sera pas mis en cache, et c'est en fait juste une version simple de la conception réelle que je considère. Imaginez quelque chose comme "aller chercher tous les messages dans ce fil" pour le logiciel de forum. Le nombre de messages peut être très important (1000) et le modèle d'accès peut être tel qu'ils ne sont pas tous mis en cache. – slacy