feat: 初始化仓库

This commit is contained in:
2025-02-12 02:38:29 +08:00
commit 46e9e79670
67 changed files with 8960 additions and 0 deletions

93
models/file.py Normal file
View File

@@ -0,0 +1,93 @@
# _*_ coding : UTF-8 _*_
# @Time : 2025/01/19 00:46
# @UpdateTime : 2025/01/19 00:46
# @Author : sonder
# @File : file.py
# @Software : PyCharm
# @Comment : 本程序
from tortoise import fields
from models.common import BaseModel
class File(BaseModel):
"""
文件表模型。
"""
name = fields.CharField(
max_length=255,
description="文件名",
source_field="name" # 映射到数据库字段 name
)
"""
文件名。
- 包括文件扩展名。
- 最大长度为 255 个字符。
- 映射到数据库字段 name。
"""
size = fields.BigIntField(
description="文件大小(字节)",
source_field="size" # 映射到数据库字段 size
)
"""
文件大小。
- 单位:字节。
- 映射到数据库字段 size。
"""
file_type = fields.CharField(
max_length=100,
description="文件类型",
source_field="file_type" # 映射到数据库字段 file_type
)
"""
文件类型。
- 例如image/png、application/pdf。
- 最大长度为 100 个字符。
- 映射到数据库字段 file_type。
"""
absolute_path = fields.CharField(
max_length=512,
description="绝对路径",
source_field="absolute_path" # 映射到数据库字段 absolute_path
)
"""
绝对路径。
- 文件在服务器上的绝对路径。
- 最大长度为 512 个字符。
- 映射到数据库字段 absolute_path。
"""
relative_path = fields.CharField(
max_length=512,
description="相对路径",
source_field="relative_path" # 映射到数据库字段 relative_path
)
"""
相对路径。
- 文件相对于某个根目录的相对路径。
- 最大长度为 512 个字符。
- 映射到数据库字段 relative_path。
"""
uploader = fields.ForeignKeyField(
"models.User",
related_name="uploaded_files",
null=True, # 允许为空
description="上传人员",
source_field="uploader_id" # 映射到数据库字段 uploader_id
)
"""
上传人员。
- 外键关联到 User 表。
- 允许为空(例如系统自动上传的文件)。
- 映射到数据库字段 uploader_id。
"""
class Meta:
table = "file" # 数据库表名
table_description = "文件表" # 表描述
ordering = ["-create_time"] # 默认按创建时间倒序排序