Oba mv
a ml
nebudou rozpoznány, protože jste je nedefinovali jako proměnné.
Druhý argument execute
příkaz je slovník a všechny prvky vašeho prostého dotazu "UPDATE client SET musicVol = :mv , messageVol = :ml"
uniklé s dvojtečkou se hledají v klíčích tohoto slovníku. execute
metoda nenalezla klíč 'mv'
ani 'ml'
v tomto slovníku se proto objeví chyba.
Toto je správná verze:
db.my_session.execute(
"UPDATE client SET musicVol = :mv, messageVol = :ml",
{'mv': music_volume, 'ml': message_volume}
)