Skip to content
Sorting for Django. Yo.
Find file
New pull request
Latest commit 4a4063d @krvc krvc Added Travis status image
Failed to load latest commit information.
sorting Pep8 compliant
sortingtest Modified tests
.gitignore Gitignore
.travis.yml Added travis
LICENSE Update LICENSE Added Travis status image Setup and Pypi
requirements.txt Added Requirements.txt Setup and Pypi


Build Status

django-sorting is a pluggable app in the spirit of django-pagination.

It allows you to allow sorting on querysets, without handling them in views.


Inlude sorting in your INSTALLED_APPS

Put {% load sorting %} at top of your templates.

Your templates have two new tags available.

auto_sort sort_link

The basic usage is.::

{% sort_link "link text" "field_name" %}
{% auto_sort queryset %}


The basic usage is.::

{% sort_link "link text" "field_name" %}

Sort link outputs a link which will sort on the given field. The field to sort on should be a database field, or something which .order_by of queryset would work.

Example usage.::

{% sort_link "Name" "name" %}

It may also be used as.

{% sort_link "link text" "field_name" "vis_name" %}

{% sort_link "Name" "name" "what" %}

This is useful if you do not wnat to expose your database fields in urls.


Basic usage is.::

{% auto_sort queryset %}

It sorts the queryset in place and replaces the queryset by the sorted queryset.

This needs to be called prior to a slice has been taken from a queryset. (Ordering can not be done after the slice has been taken.) In particular this will not work with generuc view object_list.


This code is available under a GPL or a BSD license.


There is a well used Django sorting library at . So why another? Well, I had this library written before I was aware of this library. :) The libraries are fairly close in functionality. But I think mine is better in two ways. :)

  1. It doesnt use a middleware
  2. It allows setting a visible name which is independent of the database field.
Something went wrong with that request. Please try again.