用户模型字段未在Django管理面板中显示

时间:2017-03-18 17:24:14

标签: python 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.py中,我的模型显示:

admin.site.register(models.Promotion)

加载促销时,Short_Rank字段和Date_Effective字段显示完美,但User.last_name没有显示。

ADM (2017-03-18)

enter image description here

这与其他模型一致,我相信用户模型本身不会受到管理面板中查询的攻击。如何在“管理”面板的模型页面中显示用户模型中的名称字段?感谢。

1 个答案:

答案 0 :(得分:1)

当您想要扩展auth用户时,您需要具有一对一的关系。请参阅此discussion

以下是如何更改它,我希望它适合您:

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