Course Content
Django ORM Ninja: Advanced Techniques for Developers
Django ORM Ninja: Advanced Techniques for Developers
Ordering and Slicing
Slicing
Slicing, like Author.objects.all()[:1], retrieves a QuerySet limited to a specified range.
Remember that slicing on QuerySets, like [:1], is performed at the database level, so it's an efficient way to limit the number of results returned by a query.
Returns the first two objects (equivalent to LIMIT 2 in SQL).
Fetches the second and third objects from the table (akin to OFFSET 1 LIMIT 2 in SQL).
Ordering
To sort a QuerySet, use the order_by()
method with the attribute name for ordering. Prepend '-' for descending order.
For ascending order ( SELECT * FROM Author ORDER BY first_name;).
For descending order ( SELECT * FROM Author ORDER BY first_name DESC;).
To define multiple ordering criteria in one order_by statement:
(SELECT * FROM Author ORDER BY first_name ASC, last_name DESC;).
Thanks for your feedback!