Jestem nowy w Django, ale wniosek, że mam na myśli może skończyć się o adresy URL, które wyglądają tak:Czy możliwe są asynchroniczne zapytania modelu Django?
http://mysite/compare/id_1/id_2
Gdzie „ID_1” i „ID_2” są identyfikatory z dwóch odrębnych obiektów modelu. W procedurze obsługi "porównania" chciałbym asynchronicznie i równolegle wyszukiwać i pobierać obiekty id_1 i id_2.
Czy można to zrobić za pomocą standardowej składni Django? Mam nadzieję, że dla Pseudokod kończy się szuka czegoś takiego:
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: Interesujące pytanie :-) –
Ponieważ wszystko jest buforowane, wątpię, by zobaczyć Cię wszelkie zyski z tego rodzaju rzeczy. Czy twój obiekt pobiera naprawdę najwolniejszą część twojej aplikacji? –
Wszystko nie zostanie zbuforowane, a jest to po prostu prosta wersja rzeczywistego projektu, który rozważam. Wyobraź sobie coś w stylu "pobierz wszystkie posty w tym wątku" na forum. Liczba postów może być bardzo duża (1000), a wzorzec dostępu może być taki, że nie wszystkie są buforowane. – slacy