Files
tech-blog/app/models/category.py
hz4th_coder e689fed71e 初始化技术博客项目
功能特性:
- 前端文章展示 (Markdown渲染、代码高亮)
- 后台管理系统 (文章、分类、标签、作者管理)
- 图片上传 (点击、拖拽、粘贴)
- 网站设置 (Logo、底部宣传图片上传)
- 访问统计 (IP记录、趋势图表)
- 参考来源、附件支持
- 单端口部署 (16012)

技术栈:
- Flask 3.0 + SQLAlchemy
- SQLite数据库
- marked.js + highlight.js (Markdown渲染)
- Chart.js (统计图表)
2026-06-04 23:12:34 +08:00

33 lines
975 B
Python

"""分类模型"""
from datetime import datetime
from app import db
class Category(db.Model):
"""文章分类表"""
__tablename__ = 'categories'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50), unique=True, nullable=False)
slug = db.Column(db.String(50), unique=True, nullable=False)
description = db.Column(db.String(200))
sort_order = db.Column(db.Integer, default=0)
# 关联文章
articles = db.relationship('Article', back_populates='category')
created_at = db.Column(db.DateTime, default=datetime.utcnow)
def __repr__(self):
return f'<Category {self.name}>'
def to_dict(self):
"""转换为字典"""
return {
'id': self.id,
'name': self.name,
'slug': self.slug,
'description': self.description,
'sort_order': self.sort_order,
'article_count': len(self.articles)
}