auth.User
User モデルは Django の多くの部分に結び付けられており、これを変更するのは難しいため (他の人が指摘しているように不可能ではありませんが)、特別なケースです。私の最善のアドバイスは、なぜ Django のソースを変更したくないのかということです。devel ブランチのヘッドのソースをプルするか、番号付きリリースに対応するタグ付きバージョンを取得できます。自由にコードを変更し、svn update
、svn diff
、およびの組み合わせを使用svn patch
して変更を移行します。
次に、Python は解釈され、動的に型付けされるため、コード内で contrib モジュールを変更できます。これを行う場合、一部の操作で元のモジュールが既に使用されている可能性があるため、解析/処理の順序を考慮する必要があります。User
以下は、関連付けられたProfile
オブジェクトへの便利な前方参照を追加する方法について、他の誰か (おそらくここ SO) から得た例です。
from django.db.models import Model
from django.contrib.auth.models import User
class UserProfile(Model):
user = ForeignKey(User, unique=True)
phone = CharField(verbose_name="phone number", blank=False, max_length='20')
User.profile = property(lambda u: UserProfile.objects.get_or_create(user=u)[0])
ModelFields
ただし、この戦略は での追加/変更には機能しないと思いますdjango.contrib.auth.models.User
。
最後に、グループをユーザーに関連付ける特定の例については、 UserProfile モデルを作成することでこれが可能かどうかを確認する必要があります。私の最初の推測では、それはかなり簡単なはずです。