Расширение модели User в Django - PullRequest
1 голос
/ 16 июня 2011

Я связал 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    

1 Ответ

1 голос
/ 16 июня 2011

Не используйте префикс get для свойств.Кроме того, не забывайте, что вы не можете запрашивать свойства, поэтому вам нужно присоединиться к User для них.Возможно, вы захотите добавить несколько пользовательских запросов вашему менеджеру для этого.

...