You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
1.6 KiB

from django.db import models
from django.conf import settings
# 关联对象,实际应用中需要修改
from article.models import Article as BandObject
from mptt.models import MPTTModel, TreeForeignKey
class Comment(MPTTModel):
content = models.TextField()
parent = TreeForeignKey(
"self",
on_delete=models.CASCADE,
blank=True,
null=True,
related_name="children")
commenter = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
related_name="commenter",
verbose_name="评论者"
)
reply = models.ForeignKey(
to=settings.AUTH_USER_MODEL,
verbose_name="被评论者",
blank=True,
null=True,
on_delete=models.CASCADE,
related_name="reply")
create_time = models.DateTimeField(
verbose_name="创建时间",
auto_now_add=True)
last_mod_time = models.DateTimeField(
verbose_name="修改时间",
auto_now=True)
band_object = models.ForeignKey(
BandObject,
verbose_name="评论绑定对象",
on_delete=models.CASCADE,
related_name="band_object")
is_show = models.BooleanField(
verbose_name="是否显示",
default=True,
blank=False,
null=False)
class MPTTMeta:
verbose_name = "评论"
verbose_name_plural = verbose_name
order_insertion_by = ["create_time"]
def __str__(self):
return self.content
class Meta:
verbose_name = "评论"
verbose_name_plural = verbose_name