我有一个扩展用户模型的基本模型:
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)
这与其他模型一致,我相信用户模型本身不会受到管理面板中查询的攻击。如何在“管理”面板的模型页面中显示用户模型中的名称字段?感谢。
答案 0 :(得分:1)
当您想要扩展auth用户时,您需要具有一对一的关系。请参阅此discussion。
以下是如何更改它,我希望它适合您:
class Promotion (models.Model):
User = models.OneToOneField(User)
Rating = models.ForeignKey(Rating)
Date_Effective = models.DateField()