123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- from . import db
- from datetime import datetime
- class Model(db.Model):
- __tablename__ = 'Models'
- ModelID = db.Column(db.Integer, primary_key=True)
- ModelName = db.Column(db.Text, nullable=False)
- ModelType = db.Column(db.Text, nullable=False)
- CreatedAt = db.Column(db.TIMESTAMP, default=db.func.current_timestamp())
- Description = db.Column(db.Text)
-
- class ModelParameters(db.Model):
- __tablename__ = 'ModelParameters' # 指定表名
- ParamID = db.Column(db.Integer, primary_key=True, autoincrement=True) # 主键
- ModelID = db.Column(db.Integer, db.ForeignKey('Models.ModelID'), nullable=False) # 外键,指向 Models 表的 ModelID
- ParamName = db.Column(db.Text, nullable=False) # 参数名
- ParamValue = db.Column(db.Text, nullable=False) # 参数值
- # 定义反向关系
- model = db.relationship('Model', backref=db.backref('parameters', lazy=True))
- class Dataset(db.Model):
- __tablename__ = 'Datasets'
- DatasetID = db.Column(db.Integer, primary_key=True) # 数据集ID
- DatasetName = db.Column(db.String(255), nullable=False) # 数据集名称
- DatasetDescription = db.Column(db.Text, nullable=True) # 数据集描述 (可选)
- UploadedAt = db.Column(db.TIMESTAMP, default=datetime.utcnow) # 上传时间
- RowCount = db.Column(db.Integer, nullable=False) # 数据集行数(条数)
- Status = db.Column(db.String(50), default='pending') # 数据集状态 (pending, processed)
- DatasetType = db.Column(db.String(50), nullable=False) # 数据集类型 (反酸模型训练, 降酸模型训练等)
- def __repr__(self):
- return f'<Dataset {self.DatasetName}>'
- def to_dict(self):
- return {
- 'DatasetID': self.DatasetID,
- 'DatasetName': self.DatasetName,
- 'DatasetDescription': self.DatasetDescription,
- 'UploadedAt': self.UploadedAt.strftime('%Y-%m-%d %H:%M:%S'),
- 'RowCount': self.RowCount,
- 'Status': self.Status,
- 'DatasetType': self.DatasetType
- }
|