aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/api-guide/settings.md12
-rw-r--r--docs/topics/release-notes.md1
-rw-r--r--rest_framework/authtoken/migrations/0001_initial.py6
-rw-r--r--rest_framework/settings.py3
4 files changed, 21 insertions, 1 deletions
diff --git a/docs/api-guide/settings.md b/docs/api-guide/settings.md
index e103fbab..0ecb1d2d 100644
--- a/docs/api-guide/settings.md
+++ b/docs/api-guide/settings.md
@@ -174,4 +174,16 @@ The name of a parameter in the URL conf that may be used to provide a format suf
Default: `'format'`
+## REQUIRED_MIGRATIONS
+
+This is a list of required migrations which are needed by the authtoken migration.
+
+E.g.
+
+ (
+ ('users', '0001_initial'),
+ )
+
+Default: `'()'`
+
[cite]: http://www.python.org/dev/peps/pep-0020/
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index 43499c9a..f6ef2c18 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -45,6 +45,7 @@ You can determine your currently installed version using `pip freeze`:
* Request authentication is no longer lazily evaluated, instead authentication is always run, which results in more consistent, obvious behavior. Eg. Supplying bad auth credentials will now always return an error response, even if no permissions are set on the view.
* Bugfix for serializer data being uncacheable with pickle protocol 0.
* Bugfixes for model field validation edge-cases.
+* Bugfix for authtoken migration while using a custom user model.
### 2.2.1
diff --git a/rest_framework/authtoken/migrations/0001_initial.py b/rest_framework/authtoken/migrations/0001_initial.py
index f4e052e4..b0c81bf1 100644
--- a/rest_framework/authtoken/migrations/0001_initial.py
+++ b/rest_framework/authtoken/migrations/0001_initial.py
@@ -4,6 +4,8 @@ from south.db import db
from south.v2 import SchemaMigration
from django.db import models
+from rest_framework.settings import api_settings
+
try:
from django.contrib.auth import get_user_model
@@ -15,6 +17,8 @@ else:
class Migration(SchemaMigration):
+ depends_on = api_settings.REQUIRED_MIGRATIONS
+
def forwards(self, orm):
# Adding model 'Token'
db.create_table('authtoken_token', (
@@ -45,7 +49,7 @@ class Migration(SchemaMigration):
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
},
"%s.%s" % (User._meta.app_label, User._meta.module_name): {
- 'Meta': {'object_name': 'User'},
+ 'Meta': {'object_name': User._meta.module_name},
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
diff --git a/rest_framework/settings.py b/rest_framework/settings.py
index b7aa0bbe..31912215 100644
--- a/rest_framework/settings.py
+++ b/rest_framework/settings.py
@@ -76,6 +76,9 @@ DEFAULTS = {
'URL_FORMAT_OVERRIDE': 'format',
'FORMAT_SUFFIX_KWARG': 'format',
+
+ # Authtoken
+ 'REQUIRED_MIGRATIONS': (),
}