27 lines
787 B
Python
27 lines
787 B
Python
"""Django 内置用户的非认证资料模型。"""
|
|
|
|
from django.conf import settings
|
|
from django.db import models
|
|
|
|
from common.models import TimeStampedModel
|
|
|
|
|
|
class UserProfile(TimeStampedModel):
|
|
"""保存可独立演进的展示资料,不复制认证字段。"""
|
|
|
|
user = models.OneToOneField(
|
|
settings.AUTH_USER_MODEL,
|
|
on_delete=models.CASCADE,
|
|
related_name="profile",
|
|
verbose_name="用户",
|
|
)
|
|
display_name = models.CharField("显示名", max_length=80, blank=True)
|
|
timezone = models.CharField("时区", max_length=64, default="Asia/Shanghai")
|
|
|
|
class Meta:
|
|
verbose_name = "用户资料"
|
|
verbose_name_plural = "用户资料"
|
|
|
|
def __str__(self):
|
|
return self.display_name or self.user.get_username()
|