2009-08-05 24 views
0

私はモデルは好きではありませんが、私は管理者ビューが好きです。私は自分のアプリケーションで管理者ビューを保持します。ユーザモデルを上書きする方法

モデルをオーバーウィルテッドする方法。ユーザーですか? 次のようにしてください。

from django.contrib.auth.models import User 

class ShugeUser(User) 
    username = EmailField(uniqute=True, verbose_name='EMail as your 
username', ...) 
    email = CharField(verbose_name='Nickname, ...) 

User = ShugeUser 

答えて

4

これは現在できません。必要なのは、電子メールアドレスをユーザー名として使用する場合は、custom auth backendと書いて、ユーザー名とパスワードの組み合わせ(djangosnippets.orgの例のhere)ではなく、電子メールとパスワードの組み合わせが正しいかどうかを確認できます。

あなたがもっと欲しい場合は、Djangoはより良いユーザー・モデルのサブクラス化をサポートするまで、かなりひどくジャンゴをハック、または待機する必要があります(メーリングリストジャンゴ - ユーザーのthis conversationによれば、ジャンゴとすぐに起こることができます1.2、しかしそれに数えません)。

0

上記の回答は良好で、複数のサイトで正常に使用しています。私は、多くの人が、より多くの情報フィールドを追加しているUserモデルを変更したいと考えていることも指摘したいと思います。これは、contrib管理モジュールに組み込まれたユーザー・プロファイル・サポートで対応できます。

ユーザーオブジェクトのget_profile()メソッドを使用してプロファイルにアクセスします。

関連ドキュメントがありますhere.

関連する問題