|
|
|
|
@ -7,6 +7,7 @@ from django.conf import settings # 获取项目配置(如用户模型)
|
|
|
|
|
from django.db import models # 数据库模型基类及字段类型
|
|
|
|
|
from django.utils.timezone import now # 获取带时区的当前时间,用于时间字段默认值
|
|
|
|
|
from django.utils.translation import gettext_lazy as _ # 国际化翻译工具,实现多语言显示
|
|
|
|
|
from django.utils.html import escape # 新增导入
|
|
|
|
|
|
|
|
|
|
# 赵瑞萍:导入关联模型,评论需与博客文章建立关联关系
|
|
|
|
|
from blog.models import Article # 博客文章模型,评论将关联到具体文章
|
|
|
|
|
@ -21,10 +22,9 @@ class Comment(models.Model):
|
|
|
|
|
# 赵瑞萍:评论正文字段,限制最大300字符,避免内容过长
|
|
|
|
|
body = models.TextField('正文', max_length=300)
|
|
|
|
|
|
|
|
|
|
# 赵瑞萍:评论创建时间字段,默认值为当前时区时间,支持国际化显示
|
|
|
|
|
creation_time = models.DateTimeField(_('creation time'), default=now)
|
|
|
|
|
|
|
|
|
|
# 赵瑞萍:评论最后修改时间字段,默认值为当前时间,可通过代码更新为修改时的时间
|
|
|
|
|
# 赵瑞萍 comments/models.py
|
|
|
|
|
# 赵瑞萍 将 creation_time 改为 created_time(与迁移文件保持一致)
|
|
|
|
|
created_time = models.DateTimeField(_('creation time'), default=now)
|
|
|
|
|
last_modify_time = models.DateTimeField(_('last modify time'), default=now)
|
|
|
|
|
|
|
|
|
|
# 赵瑞萍:评论作者外键,关联项目配置的用户模型
|
|
|
|
|
@ -73,4 +73,9 @@ class Comment(models.Model):
|
|
|
|
|
# 赵瑞萍:定义模型实例的字符串表示形式
|
|
|
|
|
# 在后台管理和调试时,直观显示评论内容(取正文作为标识)
|
|
|
|
|
def __str__(self):
|
|
|
|
|
return self.body
|
|
|
|
|
return self.body
|
|
|
|
|
|
|
|
|
|
def save(self, *args, **kwargs):
|
|
|
|
|
# 保存前转义 HTML 特殊字符
|
|
|
|
|
self.body = escape(self.body)
|
|
|
|
|
super().save(*args, **kwargs)
|