2017-03-18 10 views
0

を示していない:私のAdmin.pyでユーザーモデルフィールドは、私はUserモデル拡張基本モデル持っているDjangoの管理パネルで

from django.contrib.auth.models import User 

class Promotion (models.Model): 
    User = models.ForeignKey(User) 
    Rating = models.ForeignKey(Rating) 
    Date_Effective = models.DateField() 

    def __str__(self): 
     return self.Rating.Rank.Short_Rank + ' ' + self.User.last_name + ' (' + str(self.Date_Effective) + ')' 

を、私はモデルが表示している:

admin.site.register(models.Promotion) 

プロモーションの読み込み中にShort_RankフィールドとDate_Effectiveフィールドは完全に表示されますが、User.last_nameは表示されません。

ADM (2017-03-18) 

enter image description here

これは、モデルの残りの部分と一致している、と私はUserモデル自体は管理パネルでクエリによって攻撃されていないことを信じています。管理パネルのモデルページに表示されるユーザーモデルの名前フィールドを取得するにはどうすればよいですか?ありがとう。

+1

は、関連する 'User'を' last_name'がありますか? Btw、あなたのモデルは決して 'User'モデルを「拡張」していません。 – schwobaseggl

答えて

1

認証ユーザーを拡張する場合は、1対1の関係が必要です。このdiscussionを参照してください。ここで

は、あなたがそれを変更することができる方法であり、私はそれがあなたのために働くべきで期待:

class Promotion (models.Model): 
    User = models.OneToOneField(User) 
    Rating = models.ForeignKey(Rating) 
    Date_Effective = models.DateField() 
関連する問題