Django — podstawy
Fiszka #190 · Django
Czym różnią się get() i filter()?
💡 Wskazówka do nauki: Zanim odsłonisz odpowiedź poniżej, spróbuj samodzielnie sformułować definicję lub napisać krótki przykład kodu w głowie (albo w naszym edytorze online).
Pokaż odpowiedź i przykład kodu
Opis i wyjaśnienie:
get() oczekuje dokładnie jednego obiektu; zgłasza DoesNotExist, gdy nic nie pasuje, lub MultipleObjectsReturned, gdy pasuje więcej rekordów. filter() zwraca QuerySet, który może być pusty albo zawierać wiele obiektów.
Przykład w Pythonie:
from blog.models import Wpis
jeden = Wpis.objects.get(pk=1)
wiele = Wpis.objects.filter(tytul="Start")
czy_sa = wiele.exists()