94 lines
2.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# _*_ 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"] # 默认按创建时间倒序排序