1. 模型对比列表调通
This commit is contained in:
57
src/main.py
57
src/main.py
@@ -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():
|
||||
|
||||
Reference in New Issue
Block a user