Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Drag'n'drop support to reorder objects in the Django admin panel, both with and without Grappelli
Pull request Compare This branch is 6 commits behind ff0000:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.

Quick start guide


Using pip:

pip install sortable

Using git:

git clone git://
cd django-sortable
python install

or download the package from


Open and add sortable to your INSTALLED_APPS:


Copy the reorder Javascript the static/js folder:

cp [sortable folder]/sortable/static/js/django-admin-sortable.js [django-app]/static/js/

Reordering instances of a model with drag-and-drop in the admin

To add the sortable feature a model called Article do the following:

Edit app/articles/ changing models.Model with Sortable:

from sortable.models import Sortable

class Article(Sortable):
  # here the model fields, Meta, etc.

If Meta is present, inherit from Sortable.Meta:

# Old version
class Meta:
# New version
class Meta(Sortable.Meta):

Edit app/articles/ changing admin.ModelAdmin with SortableAdmin:

from sortable.admin import SortableAdmin

class ArticleAdmin(SortableAdmin):
  # here the admin stuff 

If ArticleAdmin includes the list_display declaration, change it like this:

# Old version
list_display = ('__unicode__', ...,)
# New version
list_display_links = ('__unicode__', )
list_display = SortableAdmin.list_display + ('__unicode__', ...,)

The list_display_links indicates which field will show the admin detail page when clicked.

Something went wrong with that request. Please try again.