Wpis z mikrobloga

last = [o for o in Exam.objects.orderby('date') if not o.ispast]


@marionez: świetny pomysł, iterować queryseta. Z każdym wykonaniem pętli wykonywać zapytanie do bazy danych.

chyba nie od lower than, bo nie ma
  • Odpowiedz
@jankiel7410: oj coś mi się wydaje, że nie. Nie wiem dokładnie, jak jest zaimplementowany iterator na QS, ale zgaduję, że z każdym wykonaniem pętli wykona zapytanie z odpowiednimi LIMIT i OFFSET w zapytaniu. Aż dziś sprawdzę.

Jeśli jest jak mówię, to aby iterować po obiektach wystarczy je wyciągnąć z użyciem .all()
  • Odpowiedz
@LOLWTF:

Jeśli jest jak mówię, to aby iterować po obiektach wystarczy je wyciągnąć z użyciem .all()


W sensie, że zachowa się poprawnie, jeżeli użyjesz all()? Nie, .all() jest opcjonalne w QS jeżeli używasz innej metody. Czyli .objects.all().order-by('date') to jest to samo, co .objects.order-by('date') - zachowa się dokładnie tak samo.
  • Odpowiedz