2016-04-05 6 views
-2

に私はrequest.userからfoo_userインスタンスを取得するための最も簡単な方法は何multi table inheritanceジャンゴ:からrequest.userから派生クラス

class FooUser(User): 
    telephone_number = models.TextField(blank=True, default='') 

を使用して、アプリケーション固有のデータと、各ユーザを拡張するためにdjango.contrib.auth.models.User由来?あなたがにリンクされている非常に段落で

答えて

3

は、示されます。

あなたもレストランで場所を持っている場合は、下のを使って、レストランのオブジェクトに 置きオブジェクトから取得することができます-caseバージョンモデル名の :

>>> p = Place.objects.get(id=12) 
# If p is a Restaurant object, this will give the child class: 
>>> p.restaurant <Restaurant: ...> 

だからあなたの場合には、単に実行します。request.user.foouser

を210

もちろん、ドキュメントにも示されているように、これは現在のユーザーがFooUserとして作成され、対応するテーブルにデータが関連付けられている場合にのみ機能します。そうでない場合は、FooUser.DoesNotExistが発生します。