feat: 更新接口默认就是按照字段更新

This commit is contained in:
martsforever
2025-10-14 21:47:09 +08:00
parent e0cad2d212
commit 02ddb27ca8
3 changed files with 9 additions and 2 deletions
+1
View File
@@ -47,6 +47,7 @@ class Settings(BaseSettings):
file_save_path: str = Field(..., env='FILE_SAVE_PATH')
file_public_path: str = Field(..., env='FILE_PUBLIC_PATH')
default_update_by_fields: bool = Field(..., env='DEFAULT_UPDATE_BY_FIELDS')
class Config:
env_file = ".env"
+5
View File
@@ -1,5 +1,6 @@
import traceback
from app.config.env import env
from app.general.general_utils.build_delete_sql import build_delete_sql
from app.general.general_utils.build_insert_sql import build_insert_sql
from app.general.general_utils.build_query_sql import build_query_sql
@@ -201,6 +202,7 @@ async def update(session: AsyncSessionDep, query_config, module_config, debug_da
conn = await session.connection()
row = get_value(query_config, 'row', None)
update_by_fields = get_value(query_config, 'updateByFields', env.default_update_by_fields)
update_fields = get_value(query_config, 'updateFields', None)
if row is None:
@@ -208,6 +210,9 @@ async def update(session: AsyncSessionDep, query_config, module_config, debug_da
"error": "row parameter is missing",
}
if update_by_fields:
update_fields = row.keys()
row_id = get_value(row, 'id', None)
if row_id is None: