Djago 1.5からの機能だが、 例えば、myappのmodels.pyにCustomUserなどで、
from django.contrib.auth.models import AbstractUser class CustomUser(AbstractUser): # いろいろ
みたいに定義しておけば、
settings.py
AUTH_USER_MODEL = 'myapp.CustomUser'
にこのように指定して設定しておけば、それが認証で使われるようだ。
models.pyには、 全て、Userからsettings.AUTH_USER_MODELに書き換えた。
しかし、syncdbでテーブルを作るときに
CommandError: One or more models did not validate: audiofield.audiofile: 'user' defines a relation with the model 'auth.User', which has been swapped out. Update the relation to point at settings.AUTH_USER_MODEL.
のようなエラーが出てしまった。
自分が、音楽のアップロードに使うaudiofieldのモジュールを使っているからかもしれない。 AudioFieldを使うのだがそれが裏で使っているのかも?
python - Django 1.6 AbstractUser m2m models validation error - Stack Overflow のように先ほどのAbstractUserをAbstractBaseUserに変えろとある。
from django.contrib.auth.models import AbstractBaseUser class CustomUser(AbstractBaseUser): pass
にした。 syncdbすると その次は、
AttributeError: type object 'CustomUser' has no attribute 'USERNAME_FIELD'
のエラー。