from ..connection import connect from ..slugify import slugify def update_row_field(slug, definition, row_id, field_def, new_value): """Met à jour UNE SEULE colonne d'une ligne existante — utilisé par les actions "Modifier une donnée" du mode jouable, qui ne doivent jamais écraser les autres champs de la ligne (contrairement à update_row, qui attend un formulaire complet).""" fname = slugify(field_def["name"]).replace("-", "_") col = f"{fname}_id" if field_def["type"] == "relation" else fname conn = connect(slug) conn.execute(f"UPDATE {definition['table_name']} SET {col} = ? WHERE id = ?", (new_value, row_id)) conn.commit() conn.close()