1. 模型对比列表调通

This commit is contained in:
2026-01-20 22:24:11 +08:00
parent 41d53fc10f
commit 86e1fc4c18
4 changed files with 180 additions and 37 deletions

View File

@@ -103,6 +103,17 @@ def init_database():
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4""",
# 模型对比表
"""CREATE TABLE IF NOT EXISTS model_compare (
id INT AUTO_INCREMENT PRIMARY KEY,
model_name VARCHAR(255) NOT NULL,
description TEXT,
models JSON,
status VARCHAR(50) DEFAULT 'pending',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4""",
# 数据集管理表
"""CREATE TABLE IF NOT EXISTS dataset_manage (
id INT AUTO_INCREMENT PRIMARY KEY,
@@ -248,12 +259,20 @@ def generic_get_by_id(table_name, id_val):
def generic_create(table_name, data):
"""通用创建"""
import json
conn = get_db_connection()
cursor = conn.cursor()
# 处理JSON字段将列表和字典转为JSON字符串
processed_values = []
for value in data.values():
if isinstance(value, (list, dict)):
processed_values.append(json.dumps(value, ensure_ascii=False))
else:
processed_values.append(value)
columns = ', '.join(data.keys())
placeholders = ', '.join(['%s'] * len(data))
sql = f"INSERT INTO {table_name} ({columns}) VALUES ({placeholders})"
cursor.execute(sql, list(data.values()))
cursor.execute(sql, processed_values)
conn.commit()
new_id = cursor.lastrowid
cursor.close()
@@ -263,11 +282,19 @@ def generic_create(table_name, data):
def generic_update(table_name, id_val, data):
"""通用更新"""
import json
conn = get_db_connection()
cursor = conn.cursor()
# 处理JSON字段将列表和字典转为JSON字符串
processed_values = []
for value in data.values():
if isinstance(value, (list, dict)):
processed_values.append(json.dumps(value, ensure_ascii=False))
else:
processed_values.append(value)
set_clause = ', '.join([f"{k} = %s" for k in data.keys()])
sql = f"UPDATE {table_name} SET {set_clause} WHERE id = %s"
values = list(data.values()) + [id_val]
values = processed_values + [id_val]
cursor.execute(sql, values)
conn.commit()
cursor.close()
@@ -407,6 +434,32 @@ def delete_model_deploy(id):
return jsonify({'code': 0, 'message': '删除成功'})
# ============ 模型对比接口 ============
@app.route('/api/model-compare', methods=['GET'])
def get_model_compare():
return jsonify({'code': 0, 'data': generic_get_all('model_compare')})
@app.route('/api/model-compare', methods=['POST'])
def create_model_compare():
data = request.json
new_id = generic_create('model_compare', data)
return jsonify({'code': 0, 'message': '创建成功', 'id': new_id})
@app.route('/api/model-compare/<int:id>', methods=['PUT'])
def update_model_compare(id):
data = request.json
generic_update('model_compare', id, data)
return jsonify({'code': 0, 'message': '更新成功'})
@app.route('/api/model-compare/<int:id>', methods=['DELETE'])
def delete_model_compare(id):
generic_delete('model_compare', id)
return jsonify({'code': 0, 'message': '删除成功'})
# ============ 数据生成接口 ============
@app.route('/api/data-generate', methods=['GET'])
def get_data_generate():