diff --git a/db/task_db.py b/db/task_db.py index af42045..f7ea19d 100644 --- a/db/task_db.py +++ b/db/task_db.py @@ -177,15 +177,15 @@ class TaskDBOperator(BaseDBOperator): try: fields = [] values = [] + # 需要序列化的字段 + json_fields = ['groups', 'content_miniprogram', 'preview_recipients', 'content_link'] + for key, value in updates.items(): - if key in ['groups', 'content_miniprogram', 'preview_recipients']: - fields.append(f"{key} = %s") - values.append(value) - elif key == 'content_link' and isinstance(value, dict): - fields.append(f"{key} = %s") + fields.append(f"{key} = %s") + # 如果是需要序列化的字段,且值不是字符串类型,则进行序列化 + if key in json_fields and not isinstance(value, str): values.append(json.dumps(value)) else: - fields.append(f"{key} = %s") values.append(value) values.append(task_id)