我已将UserProfile
与user
相关联。但是,我不喜欢在模板中来回跳转以获取first_name,last_name等。我想仅将User
模型用于auth-related
个内容,并UserProfile
用于与用户相关的所有信息(主要是用户信息的显示)。
我想知道是否有人可以评估我当前的UserProfile
模型是什么,以及我可以改进它的位置或冗余的位置等等。谢谢。
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
答案 0 :(得分:1)
不要在属性上使用“get”前缀。此外,请不要忘记您无法查询属性,因此您需要加入User
。也许你可能想要add some custom queries to your manager。