0
内のアプリケーションで私がBaseUserManager
を拡張し、私のカスタムマネージャーと一緒に私のカスタムユーザーを作成するために、DjangoのAbstractUser
を使用していますされていません。しかし、私はまだそれに余分なフィールドを追加しませんでした。だから、次のようになります。Modelクラスmyproject.apps.accounts.models.Userは、明示的なapp_labelを宣言しないとINSTALLED_APPS
# mypoject/apps/accounts/models.py
from django.contrib.auth.models import AbstractUser
from myproject.apps.accounts.managers import UserManager
class User(AbstractUser):
objects = UserManager
そして私はそれのためのユニットテストを書いて、それは次のようになります。
# myproject/apps/accounts/tests/test_models.py
from unittest import TestCase
class UserTests(TestCase):
def test_create_user(self):
from myproject.apps.accounts.models import User
user = User.objects.create_user(username='mock_user')
self.assertIsInstance(user)
しかし、私は、テストを実行すると、私はこのエラーメッセージが表示されます。
RuntimeError: Model class myproject.apps.accounts.models.User doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
PS:私のアカウントのアプリケーションはINSTALLED_APPS
の配列にあり、正常に動作します。
を割り当てる必要がありますか? AUTH_USER_MODELは何に設定されていますか? –
カスタムユーザーモデルを含むマイアカウントアプリがINSTALLED_APPSに追加されます。 AUTH_USER_MODELは 'accounts.User'に設定されています。私は 'get_user_model()'に対して ''を取得します。この問題は、カスタムユーザーモデルを明示的にインポートするときにのみ発生します。 @ダニエル –