49 lines
1.7 KiB
Python
49 lines
1.7 KiB
Python
"""模块:Doc 数据模型
|
|
社区文档与系列管理表。"""
|
|
|
|
from gvsds.model_base import QModel
|
|
import datetime
|
|
from django.db import models
|
|
from gvsds.apps.core.models import UUIDField
|
|
|
|
|
|
class CommunityDocument(QModel):
|
|
"""社区文档表——文档内容管理
|
|
|
|
DocSerieUUID 为可空 UUIDField(非 FK):系列仅是逻辑分组,
|
|
避免 FK + to_field 导致列名(DocSerieUUID_id)与迁移不一致的坑。
|
|
"""
|
|
|
|
DocUUID = UUIDField(primary_key=True, verbose_name='文档UUID')
|
|
DocSerieUUID = UUIDField(null=True, blank=True, verbose_name='所属系列UUID')
|
|
DocTitle = models.CharField(max_length=256, verbose_name='文档标题')
|
|
DocContent = models.TextField(verbose_name='文档内容')
|
|
DocFormat = models.CharField(
|
|
max_length=16,
|
|
default='markdown',
|
|
choices=(('markdown', 'Markdown'), ('html', '富文本 HTML')),
|
|
verbose_name='内容格式',
|
|
)
|
|
DocCreateTime = models.DateTimeField(default=datetime.datetime.utcnow, verbose_name='文档创建时间')
|
|
|
|
class Meta:
|
|
db_table = 'Document'
|
|
app_label = 'doc'
|
|
verbose_name = '社区文档'
|
|
verbose_name_plural = '社区文档'
|
|
|
|
|
|
class CommunitySeries(QModel):
|
|
"""社区系列表——文档集合管理"""
|
|
|
|
DocSerieUUID = UUIDField(primary_key=True, verbose_name='系列UUID')
|
|
DocSerieName = models.CharField(max_length=256, verbose_name='系列名称')
|
|
DocAuthorUserUUID = UUIDField(verbose_name='作者用户UUID')
|
|
DocSerieCreateTime = models.DateTimeField(default=datetime.datetime.utcnow, verbose_name='系列创建时间')
|
|
|
|
class Meta:
|
|
db_table = 'Series'
|
|
app_label = 'doc'
|
|
verbose_name = '社区系列'
|
|
verbose_name_plural = '社区系列'
|