在Django中扩展用户模型
问题描述:
我已将UserProfile
链接到user
。但是,我不喜欢不得不在模板中来回跳转以获取first_name,last_name等。我想使用User
模型仅用于auth-related
素材,而UserProfile
用于与用户有关的所有信息(大多数是显示器的用户信息)。在Django中扩展用户模型
我想知道如果有人可以评估我目前的模型是怎么样的,我可以在哪里改进或者哪里是多余的,等等。谢谢。
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
network = models.ForeignKey(Network)
location = models.CharField(max_length=100, blank=True)
graduation = models.IntegerField(blank=True, null=True, choices=YEAR)
headline = models.CharField(max_length=100, blank=True,)
positions = models.ManyToManyField(Position, through ='Timestamp', blank=True)
bio = models.TextField(max_length=1000, blank=True)
@property
def get_first_name(self):
return self.user.first_name
@property
def get_last_name(self):
return self.user.last_name
def get_full_name(self):
return self.user.get_full_name
@property
def get_date_joined(self):
return self.user.date_joined
感谢您的评论和指针,无法查询这些只读的字段。我需要添加什么才能做到像UserProfile.objects.order_by('first_name','last_name')'? – David542 2011-06-16 06:08:18
[“查找跨越关系”](https://docs.djangoproject.com/en/dev/topics/db/queries/#lookups-that-span-relationships) – 2011-06-16 06:09:45
非常感谢。 'UserProfile.objects.order_by(' - user__last_name')' – David542 2011-06-16 06:15:40