diff options
| author | Tom Christie | 2013-07-29 09:08:35 +0100 | 
|---|---|---|
| committer | Tom Christie | 2013-07-29 09:08:35 +0100 | 
| commit | 5c4bf5309d2e952fb33c27778ff1f1213ebfd5e0 (patch) | |
| tree | d679024fd19ce755582cc1ab1d0a221c56d0192a /docs/api-guide | |
| parent | 82145e2b06e402c9740ee970c74456a59683667a (diff) | |
| download | django-rest-framework-5c4bf5309d2e952fb33c27778ff1f1213ebfd5e0.tar.bz2 | |
Docs about migrations and `post_save`.
Documentation detailing requirement to migrate prior to running `createsuperuser` if using an authtoken `post_save` signal.
Closes #987.  Thanks to @yprez.
Diffstat (limited to 'docs/api-guide')
| -rwxr-xr-x | docs/api-guide/authentication.md | 12 | 
1 files changed, 10 insertions, 2 deletions
| diff --git a/docs/api-guide/authentication.md b/docs/api-guide/authentication.md index 5d6e0d91..ee1282b5 100755 --- a/docs/api-guide/authentication.md +++ b/docs/api-guide/authentication.md @@ -184,9 +184,11 @@ The `obtain_auth_token` view will return a JSON response when valid `username` a  Note that the default `obtain_auth_token` view explicitly uses JSON requests and responses, rather than using default renderer and parser classes in your settings.  If you need a customized version of the `obtain_auth_token` view, you can do so by overriding the `ObtainAuthToken` view class, and using that in your url conf instead. -#### Custom user models +#### Schema migrations -The `rest_framework.authtoken` app includes a south migration that will create the authtoken table.   If you're using a [custom user model][custom-user-model] you'll need to make sure that any initial migration that creates the user table runs before the authtoken table is created. +The `rest_framework.authtoken` app includes a south migration that will create the authtoken table. + +If you're using a [custom user model][custom-user-model] you'll need to make sure that any initial migration that creates the user table runs before the authtoken table is created.  You can do so by inserting a `needed_by` attribute in your user migration: @@ -201,6 +203,12 @@ You can do so by inserting a `needed_by` attribute in your user migration:  For more details, see the [south documentation on dependencies][south-dependencies]. +Also not that if you're using a `post_save` signal to create tokens, then the first time you create the database tables, you'll need to ensure any migrations are run prior to creating any superusers.  For example: + +    python manage.py syncdb --noinput  # Won't create a superuser just yet, due to `--noinput`. +    python manage.py migrate +    python manage.py createsuperuser +  ## SessionAuthentication  This authentication scheme uses Django's default session backend for authentication.  Session authentication is appropriate for AJAX clients that are running in the same session context as your website. | 
