Cheatsheet for Django QuerySets
Current Django Version: 1.5
QuerySets
Methods that return newCan be chained:
Entry.objects.filter(**kwargs).exclude(**kwargs).order_by(**kwargs)
- filter
- exclude
- annotate
- order_by
- reverse
- distinct
- values
- values_list
- dates
- none
- all
- select_related
- prefetch_related
- extra
- [defer]((https://docs.djangoproject.com/en/1.5/ref/models/querysets/#defer)
- only
- using
- select_for_update
Methods that do not return QuerySets
Field lookups
Field lookups are how you specify the meat of an SQL WHERE clause. They’re specified as keyword arguments to the QuerySet methods filter(), exclude() and get().
Example: Entry.objects.get(id__exact=14)
- exact
- iexact
- contains
- icontains
- in
- gt
- gte
- lt
- lte
- startswith
- istartswith
- endswith
- iendswith
- range
- year
- month
- day
- week_day
- isnull
- search
- regex
- iregex
Protip: Use in to avoid chaining filter() and exclude()
Entry.objects.filter(status__in=['Hung over', 'Sober', 'Drunk'])
Aggregation functions
Django-QuerySet-Cheatsheet by @chrisdl and @briandant is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
The Django web framework referenced in the Django-QuerySet-Cheatsheet is © 2005-2013 Django Software Foundation. Django is a registered trademark of the Django Software Foundation.