17 lines
612 B
Python
17 lines
612 B
Python
from ..connection import connect
|
|
from .row_columns_and_values import row_columns_and_values
|
|
|
|
|
|
def update_row(slug, definition, row_id, form_data):
|
|
"""CRUD — Update : ré-enregistre une ligne existante avec les nouvelles
|
|
valeurs saisies dans le même formulaire généré que pour la création."""
|
|
cols, values = row_columns_and_values(definition, form_data)
|
|
conn = connect(slug)
|
|
set_clause = ", ".join(f"{c} = ?" for c in cols)
|
|
conn.execute(
|
|
f"UPDATE {definition['table_name']} SET {set_clause} WHERE id = ?",
|
|
values + [row_id],
|
|
)
|
|
conn.commit()
|
|
conn.close()
|