À partir du code ci-dessous:Quand Django effectue-t-il la recherche dans la base de données?
dvdList = Dvd.objects.filter(title = someDvdTitle)[:10]
for dvd in dvdList:
result = "Title: "+dvd.title+" @ "+dvd.price+"."
Quand Django fait la recherche? Peut-être que c'est juste de la paranoïa, mais il semble que si je commente la boucle for, cela revient beaucoup plus vite. La première ligne configure-t-elle un filtre, puis la boucle for l'exécute, ou suis-je complètement confus? Qu'est-ce qui se passe réellement avec ces lignes de code?
EDIT:
Que se passerait-il si je limité la objects.filter à « 1000 », puis mis en place un compteur dans la boucle qui a éclaté après de 10 itérations. Est-ce que cela n'obtiendrait effectivement que 10 valeurs ou 1000?
@_bravado - Est-ce que ma réponse fournit suffisamment d'informations pour "Que se passe-t-il réellement avec ces lignes de code?" à présent? Vous avez modifié votre question après ma première publication. Je peux essayer et expliquer plus si cela aiderait. –
Oui, c'était parfait. Cependant, je l'ai édité à nouveau avec une question supplémentaire. Je voulais juste être absolument certain de ce qui arriverait si je limitais le filtre à 1000, mais seulement itéré dans une boucle for 10 fois. – Federer