2011-01-14 7 views
17

モデルで定義されている30文字を超えるようにauthの最大ユーザ名サイズを増やす必要があります。 どうすればできますか?モデルのカスタマイズだけが正しいか安全な方法であるかはわかりません。Django auth:最大ユーザ名の長さを増やす

+3

'username'の長さは150文字までのDjango 1.10に増加しました。 https://docs.djangoproject.com/en/1.10/releases/1.10/#abstractuser-username-max-length-increased-to-150それでもまだ十分でない場合は、「カスタムユーザモデルを使用する」ことをお勧めします。 –

答えて

11

ここでこの答えは興味深いアプローチです: はCan django's auth_user.username be varchar(75)? How could that be done?

UserモデルにMAX_LENGTH属性を上書きしますが、あなたのDBの列に注意してください小さなアプリはテーブルがsyncdb

されていない場合は修正する必要があります

私は個人的に私のユーザ名としてトリムされたハッシュを使用しています。これは、「あなたは今すぐ宝くじに当選しました!将来のニーズのための

2

AFAIKの場合、サブタイトルをauth.userにする必要があります。より簡単で冒険的なソリューションでは、より長いusernameフィールドを持つユーザープロファイルモデルを実装している可能性があります。冗長性を避けるために、たとえば、実際にusernameフィールドにランダムに生成された数値を入力し、それを使用して終了することがあります。

+0

'username'に2つのフィールドを保存するのは完全に間違っています。最初の30文字では同じだがそれ以降はユーザー名はどうでしょうか? –

関連する問題