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