2017-05-30 10 views
1

仮想環境内でipythonでDjangoユーザーモデルをインポートしようとしています。私はそれがこのanswerから続いて次のエラーDjango:ipythonシェル内でユーザーを作成できません

AppRegistryNotReady: Apps aren't loaded yet. 

の結果、次のコード

from django.contrib.auth.models import User 

を試してみましたが、私はシェル内部に設定しているし、次のコードを試してみました。

from django.conf import settings 
User = settings.AUTH_USER_MODEL 
User.objects.create_user('john', '[email protected]', 'johnpassword') 

これは私がipythonシェル内でユーザーを作成するにはどうすればよいAttributeError: 'str' object has no attribute 'objects' .になりましたか?私はDjango 1.10.6、 ipython 6.0.0とdjangorestframework 3.6.2

+0

これだけ試してみてください:User.objects.create_user( 'john'、 '[email protected]'、 'johnpassword') - >これは私のために働いています。私はあなたのユーザ "shell_plus"にお勧めします –

+0

まあ、AUTH_USER_MODELは文字列です。なぜあなたはこれをやっている?あなたが 'manage.py shell'を通してあなたのシェルを起動した場合、あなたは通常どおりユーザーをインポートできます。 –

答えて

1

コマンドを使ってipythonシェルを起動して問題を解決しました

python manage.py shell -i ipython 
2

settings.AUTH_USER_MODELを文字列で使用しています。シェル内では、ユーザーをdjangoからモデルとしてインポートできます。このため

python manage.py shell

を実行するか、手動でジャンゴをインポートし、DJANGO_SETTINGS_MODULEを設定することができます。そのために

、ipythonの内側に私は、これらを実行

import django, os 
os.environ['DJANGO_SETTINGS_MODULE'] = 'testproject.settings' 
django.setup() 

次に、あなたが行うことができ、

from django.contrib.auth.models import User 

、あなたは、このようなシェル内部ユーザを作成することができ、

User.objects.create_user('john', '[email protected]', 'johnpassword') 
+0

ユーザーモデルをインポートできません。次のエラーが表示されます。AppRegistryNotReady:アプリケーションがまだ読み込まれていません。 – Arun

+0

'python manage.py shell'を実行しました – zaidfazil

+1

はい、しました。シェル内でユーザーモデルをインポートできます。この問題はipythonの中で実行すると発生します。 – Arun

関連する問題