| 109 | |
| 110 | |
| 111 | class RawDataOrigin(SQLModel): |
| 112 | # SQLModel doesn't like attributes starting with _ |
| 113 | # so we change the names of the columns. |
| 114 | raw_data_params: Optional[str] = Field(sa_column_kwargs={'name': '_raw_data_params'}, alias='_raw_data_params') |
| 115 | raw_data_table: Optional[str] = Field(sa_column_kwargs={'name': '_raw_data_table'}, alias='_raw_data_table') |
| 116 | raw_data_id: Optional[str] = Field(sa_column_kwargs={'name': '_raw_data_id'}, alias='_raw_data_id') |
| 117 | raw_data_remark: Optional[str] = Field(sa_column_kwargs={'name': '_raw_data_remark'}, alias='_raw_data_remark') |
| 118 | |
| 119 | def set_raw_origin(self, raw: RawModel): |
| 120 | self.raw_data_id = raw.id |
| 121 | self.raw_data_params = raw.params |
| 122 | self.raw_data_table = raw.__tablename__ |
| 123 | |
| 124 | def set_tool_origin(self, tool_model: 'ToolModel'): |
| 125 | self.raw_data_id = tool_model.raw_data_id |
| 126 | self.raw_data_params = tool_model.raw_data_params |
| 127 | self.raw_data_table = tool_model.raw_data_table |
| 128 | |
| 129 | |
| 130 | class NoPKModel(RawDataOrigin): |