2010-12-13 30 views
0

朝以降にコーディングされていて、auth_userからデータを取得できません。私は私のモデルでクラスを作った。外部キーからデータを取得する方法

は私が私の見解ファイル内のコードの作者の名を取得するためになります...私のDjangoUserモデル、私はFIRST_NAMEを取得したいで

from django.contrib.auth.models import User as DjangoUser 
...... 
class Author(models.Model): 
    """ 
    Data model that holds posts' authors as shown in author pages 
    """ 
    django_user = models.ForeignKey(DjangoUser, primary_key=True) 
    about = models.TextField('About', null=True, blank=True) 
    avatar = ImageWithThumbsField('Pic', upload_to=settings.PATH_AVATAR, blank=True, null=True, sizes=settings.SIZES_AVATAR) 

:ここのコードですか?

ありがとうございます。あなたの答えは大いに感謝しています...

答えて

1

auth documentationに記載されているように、ユーザモデルにはfirst_nameという属性が含まれています。

# get the author from the database using a user as a primary key 
user = User.objects.get(id=1) 
author = Author.objects.get(user) 

# display the author's first name by accessing the 
# User model first, then its properties 
author.django_user.first_name 

ただし、実際には、同じ認証ドキュメントページでStoring Additional Information About the Userを読む必要があります。 Userオブジェクトのプロファイルを作成する正しい方法について説明します。このようにして、プロファイルはユーザの横にという名前で保存され、ユーザオブジェクトは元のままです。これは、get_profile()メソッドを使用してそのプロファイルを参照できるので、設計によるものです。

+0

このコード:author = Author.objects.get(id = 1);キーワード 'id'をフィールドに解決できません。選択肢はabout、avatar、django_userです。著者のクラスではこれらのフィールドしかないので。 – EVG

+0

ありがとう。コードが修正されました。適切なDjangoプロファイルのルートは私がまだお勧めするものですが。 – Soviut

関連する問題