2016-09-02 10 views
0

auth appのUserモデルに余分な機能を追加したいが、私はdjangoのソースコードで手を汚したくないauth appのUserモデルを拡張する新しいUserモデルを作成します。出来ますか?もしそうなら、どうですか?Django:Auth AppのUserモデルに余分な機能を追加する

P.S私はdjango-eavを見ましたが、その機能の値をデータベースに永久に保存して管理サイトに表示したいと思います。

質問内の回答(Extending the User model with custom fields in Django)は、拡張または置換を示唆しています。私はそれらを望んでいません

+0

可能な重複Djangoのフィールド](http://stackoverflow.com/questions/44109/extending-the-user-model-with-custom-fields-in-django) – Taxellool

+0

@タクセル私はそうは思わない。私はその質問と答えを何度も読んだことがあります。その質問の答えは、拡張または置換のいずれかを示唆しています。私はそれらを望んでいません –

+0

私はあなたの要件を理解していません。 Userモデルを拡張または代替することは、あなたのニーズに合っていませんか? – knbk

答えて

0

これを行うにはいくつかの方法がありますが、私はDjangoの抽象的なユーザーモデルをサブクラス化することをお勧めします。たとえば、次のようにここに

from django.contrib.auth.models import AbstractUser 
from django.db import models 
from django.utils.translation import ugettext_lazy as _ 

class KarmaUser(AbstractUser): 
    karma = models.PositiveIntegerField(default=0, blank=True) 

# Inside project/settings.py 
AUTH_USER_MODEL = "profiles.KarmaUser" 

さらに詳しい情報:https://docs.djangoproject.com/en/1.10/topics/auth/customizing/#specifying-a-custom-user-model

またはあなたがOneToOneField例えばバックユーザモデルへのリンクを試みることができる:[カスタムでUserモデルを拡張する

from django.conf import settings 

class CustomProfile(models.Model): 
    user = models.OneToOneField(settings.AUTH_USER_MODEL) 
    karma = models.PositiveIntegerField(default=0, blank=True) 
+0

私はhttps://github.com/mvpdev/django-eavのようなものを求めていましたが、永久記憶装置を持っています –

+0

Djangoのデフォルトをサブクラス化せずに、あなた自身の代わりにあなたのニーズを予期しているサードパーティのアプリケーションは存在しないと思いません。 –

関連する問題