1234567891011121314151617181920212223242526272829303132333435363738394041 |
- from sqlalchemy import Column, Integer, Float, Text
- from sqlalchemy import ForeignKey, ForeignKeyConstraint
- from app.database import Base # 统一的基础模型
- class MSMOutputData(Base):
- """
- 络合模型输出数据模型
- 存储多表面模型(MSM)的计算结果
- 模型特点:
- 1. 每个记录唯一对应MSM输入数据模型
- 2. Cd.solution字段包含溶液中镉离子的关键计算结果
- 3. Var字段与输入模型保持一致便于溯源
- """
- __tablename__ = 'MSM_output_data'
- # 主键配置
- id = Column('ID', Integer, primary_key=True, autoincrement=True)
- # 外键参考Farmland_data表 (复合外键)
- farmland_id = Column('Farmland_ID', Integer, nullable=False)
- sample_id = Column('Sample_ID', Integer, nullable=False)
- # 复合外键约束
- __table_args__ = (
- ForeignKeyConstraint(
- ['Farmland_ID', 'Sample_ID'],
- ['Farmland_data.Farmland_ID', 'Farmland_data.Sample_ID']
- ),
- {'comment': '络合模型输出数据模型'}
- )
- # 数据索引符 - 与输入模型对应
- var = Column('Var', Text, nullable=False,
- comment='过程模型数据索引符,与MSM_input_data.Var一致')
- # 关键计算结果 - 溶液中镉离子浓度
- cd_solution = Column('Cd.solution', Float, nullable=False,
- comment='镉离子浓度[mol/L]:络合模型核心计算结果')
|