ファイルからいくつかのデータを読み込み、多くのテストアカウントをすばやく作成したい。私はbulk_createメソッドを使用したいと思います。これは、通常、モデルに多くのレコードを追加する方がはるかに高速です。しかし、DjangoのUserモデルでbulk_createメソッドを使用すると、パスワードが正しくハッシュされていないため、ユーザーとしてログインできなくなります。Django 1.9一括して新しいユーザーを作成するパスワードを正しくハッシュしない
User.objects.bulk_create([
User(
username=name,
email='[email protected]',
password='Sample&Password!',
is_active=True,
) for name in f.read().splitlines()
])
Djangoの管理者は、各ユーザーのパスワードフィールドに、次のエラー
無効なパスワード形式または未知のハッシュアルゴリズムを示しています。
しかし、2番目の方法は(ただし、はるかに遅いですが)動作し続けます。
for name in f.read().splitlines():
User.objects.create_user(
name,
'[email protected]',
password="Sample&Password!"
).save()
私の質問は、適切に一括してDjangoでユーザーを作成する方法ですか? Djangoは理由のためにこれのように振る舞いますか、これはバグですか?
これは、高速応答のためのおかげで、私の問題を修正 –