0

ユーザー名が長すぎるとエラーが発生しました。

/account/register/ での警告

行 1 の列 'username' のデータが切り捨てられました

私はすでにカスタム User モデルを使用しているので、新しいフィールドを追加して次のようにしましたUSERNAME_FIELD

class MyUser(AbstractUser):
    USERNAME_FIELD = 'identifier'
    identifier = models.EmailField(unique=True,default="")
    ...

これをいくつかの手順で設定し、 なしでフィールドを追加しunique=True、データ移行を行ってから制約を追加しました。しかし、新しいモデルを試しに行ったとき、がっかりしましたが、同じエラーが発生しました。の長さEmailFieldは 75 (usernameは 30) で、ユーザー名が 50 文字のユーザーを追加しようとすると、エラーが発生します。

私の登録ビューでは、次のようにユーザーをサインアップします (この行はエラーをスローします):

new_user = MyUser.objects.create_user(form.cleaned_data['username'], 
                                      form.cleaned_data['email'], 
                                      form.cleaned_data['password1'])

別のアプローチを採用する必要がありますか? を呼び出さずに手動でユーザーを作成することは可能create_userですか?

4

1 に答える 1