Skip to content
Draft in admin
Python JavaScript
Latest commit a78f3dd Aug 14, 2011 @esquevin esquevin Bumped version


Allow the creation of drafts in the admin. It is compatible with both the default django admin and django-grappelli.


pip install git+git://


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

Add draft to your INSTALLED_APPS


Create the database table

python syncdb

or if you are using South (you should)

python migrate draft

You are done.

Django-draft detects if grappelli is installed and will display accordingly.


Add draft support in the admin to your model by registering them with a DraftAdmin Class which inherits the ModelAdmin Class

from myapp.models import MyModel
from draft.admin import DraftAdmin

class MyModelAdmin(DraftAdmin):
    Declare everything as usual here
    pass, MyModelAdmin)

You should now have a save as draft button available in the admin for this model !

As soon as you have a draft, you'll be able to reload it later, or discard it

Under the hood

Django draft save the serialized current form and is able to reload it later. It has no knowledge of your models whatsoever, it simply saves a query dict and is able to reload it in Javascript.

Something went wrong with that request. Please try again.