0

Django-registration を Django 1.5 Configurable User Models で動作させようとしています。

私が抱えているエラーに関連する以前の SO スレッドをいくつか見てきましたが、それらの解決策はうまくいかないようです。

私が得るエラーは次のとおりです。

「registration.registrationprofile: 'user' は、スワップ アウトされたモデル 'auth.User' との関係を定義します。settings.AUTH_USER_MODEL を指すように関係を更新します」

これは、django-registrationがカスタムユーザーモデルを使用していることを認識していないように見えるという事実に関連していることを理解していますが、これは新しいバージョンで修正されたという印象を受けました。

私が使用しているdjango-registrationバージョンには次のように書かれています:

(0、9、0、「ベータ」、1)

異なるコード ベースを使用する 2 つのプロジェクトでこのエラーが発生したため、私のコードとは関係がないと思います。

ただし、ベースをカバーするために:

設定.py

AUTH_USER_MODEL = 'reg.MyUser'

そして、私がフォローしてきた Django 1.5 Customizable User Model ガイドの共食いバージョン:

models.py

class MyUserManager(BaseUserManager):
    def create_user(self, email):

        user = self.model(
            email=MyUserManager.normalize_email(email),
        )

        user.save(using=self._db)
        return user

class MyUser(AbstractBaseUser):
    email = models.EmailField(max_length=254, unique=True, db_index=True)

    is_active = models.BooleanField(default=True)
    is_admin = models.BooleanField(default=False)

    objects = MyUserManager()

    USERNAME_FIELD = 'email'


    def get_full_name(self):
        return self.email

    def get_short_name(self):
        return self.email

    def __unicode__(self):
        return self.email

    def has_perm(self, perm, obj=None):
        return True

    def has_module_perms(self, app_label):
        return True

    @property
    def is_staff(self):
        return self.is_admin

何が問題なのかを理解する上で、どんな助けも大歓迎です。

ジェイス

4

2 に答える 2

0

私は django-registration VERSION = (1, 0, 0, 'final', 0) を使用しており、ほぼ同じカスタム モデルを持っています (名前などの追加フィールドがいくつかあります)。

こちらの変更に従うことでうまくいきます。

私はそれを試していませんが、2 つのファイルの上部にあるインポートに変更を加えてから、別の投稿/リンクに示されているように User = get_user_model を使用して他の変更をリセットできるはずです (場所がわからない)今見たけど)。

私は django と django-registration を初めて使用するので、おそらく何かを認識していませんが、この変更を元のモジュールに組み込むことができなかった理由がわかりませんか?

于 2013-07-09T16:12:51.267 に答える