COOKBOOK 3: Wichtige Methoden des Managers

get

liefert ein Objekt eines Models. Rückgabewert ist im Erfolg ein Objekt der Klasse Event.

>>> event = Event.objects.get(pk=3)
>>> event = Event.objects.get(name="Techno AG", sub_title="We do it")

all

liefert alle Objekte eines Models. Rückgabewert ist ein Queryset.

>>> qs = Event.objects.all()

order_by

liefert alle Objekte eines Models in sortierter Form als Queryset.

>>> qs = Event.objects.order_by('name') # aufsteigend
>>> qs = Event.objects.order_by('-name', 'age') # absteigend und nach Name und Alter

>>> # auf Queryset angewandt
>>> qs = Event.objects.filter(id__gt=3).order_by('-name')

count()

Anzahl der Objekte ermitteln. Rückgabewert ist ein Integer.

number = len(Event.objects.all())  # schlecht
number = Event.objects.count() # gut. Effiziente Methode

values()

Liefert als Ergebnis ein Queryset bestehend aus Dictionaries statt Objekten. Als Argument kann man die Attribute, also die Tabellenspalten mitgeben, die ausgegeben werden sollen. values() ist eine ziemlich komplexe Funktion, deshalb hier der Link zur Doku: https://docs.djangoproject.com/en/4.1/ref/models/querysets/#values

Event.objects.values()
Event.objects.filter(name__startswith='Beatles').values("id", "name")

exclude()

Exkludiert Objekte, resultiert in einem SQL WHERE NOT. Rückgabewert ist ein Queryset.

>>> qs = Event.objects.exclude(name__contains='XX')

first()

liefert das erste Objekt eines Querysets.

event = Event.objects.first()

last()

liefert das letzte Objekt eines Querysets.

event = Event.objects.last()