diff --git a/src/djangoblog-master/accounts/models.py b/src/djangoblog-master/accounts/models.py index 3baddbb..844150a 100644 --- a/src/djangoblog-master/accounts/models.py +++ b/src/djangoblog-master/accounts/models.py @@ -8,20 +8,28 @@ from djangoblog.utils import get_current_site # Create your models here. +# xm: 自定义用户模型,继承自Django的AbstractUser基类 class BlogUser(AbstractUser): + # xm: 昵称字段,最大长度100,可为空 nickname = models.CharField(_('nick name'), max_length=100, blank=True) + # xm: 创建时间字段,默认值为当前时间 creation_time = models.DateTimeField(_('creation time'), default=now) + # xm: 最后修改时间字段,默认值为当前时间 last_modify_time = models.DateTimeField(_('last modify time'), default=now) + # xm: 用户来源字段,记录创建来源,可为空 source = models.CharField(_('create source'), max_length=100, blank=True) + # xm: 获取用户绝对URL的方法,用于生成作者详情页链接 def get_absolute_url(self): return reverse( 'blog:author_detail', kwargs={ 'author_name': self.username}) + # xm: 对象的字符串表示形式,返回邮箱地址 def __str__(self): return self.email + # xm: 获取用户完整URL的方法,包含域名 def get_full_url(self): site = get_current_site().domain url = "https://{site}{path}".format(site=site, @@ -29,7 +37,11 @@ class BlogUser(AbstractUser): return url class Meta: + # xm: 默认按ID倒序排列 ordering = ['-id'] + # xm: 单数名称显示 verbose_name = _('user') + # xm: 复数名称显示(与单数相同) verbose_name_plural = verbose_name + # xm: 指定最新记录的获取字段 get_latest_by = 'id'