Python a-z

Twoje centrum interaktywnej nauki Pythona: fiszki, przykłady kodu i edytor w przeglądarce.

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()