From 0baec59065a42eac48e88847c8b5c68beafadc9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E9=94=A6=E6=B3=BD?= <2567263675@qq.com> Date: Thu, 6 Nov 2025 01:29:33 +0800 Subject: [PATCH] =?UTF-8?q?xjz:=20=E6=B7=BB=E5=8A=A0comments=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E4=BB=A3=E7=A0=81=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/comments/models.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/comments/models.py b/src/comments/models.py index 7c3bbc8..3ae42f2 100644 --- a/src/comments/models.py +++ b/src/comments/models.py @@ -1,5 +1,7 @@ -from django.conf import settings +# xjz: 评论系统数据模型模块 +# xjz: 定义评论相关的数据库模型和数据结构 from django.db import models +from django.conf import settings from django.utils.timezone import now from django.utils.translation import gettext_lazy as _ @@ -7,19 +9,26 @@ from blog.models import Article # Create your models here. - +# xjz: 评论模型类 +# xjz: 存储用户对文章的评论信息,包括内容、时间等 class Comment(models.Model): + # xjz: 评论内容正文,Text类型支持长文本 body = models.TextField('正文', max_length=300) + # xjz: 评论创建时间,自动记录创建时刻 creation_time = models.DateTimeField(_('creation time'), default=now) + # xjz: 评论最后修改时间,记录最后编辑时刻 last_modify_time = models.DateTimeField(_('last modify time'), default=now) + # xjz: 评论作者,外键关联用户模型 author = models.ForeignKey( settings.AUTH_USER_MODEL, verbose_name=_('author'), on_delete=models.CASCADE) + # xjz: 所属文章,外键关联博客文章 article = models.ForeignKey( Article, verbose_name=_('article'), on_delete=models.CASCADE) + # xjz: 父级评论,支持评论回复功能,允许为空 parent_comment = models.ForeignKey( 'self', verbose_name=_('parent comment'), @@ -28,9 +37,11 @@ class Comment(models.Model): on_delete=models.CASCADE) is_enable = models.BooleanField(_('enable'), default=False, blank=False, null=False) - +# xjz: Comment模型的元数据配置 class Meta: + # xjz: 按ID降序排列,新的评论显示在前面 ordering = ['-id'] + # xjz: 在管理后台显示的名称 verbose_name = _('comment') verbose_name_plural = verbose_name get_latest_by = 'id'