Båda mv
och ml
kommer inte att kännas igen, eftersom du inte har definierat dem som variabler.
Det andra argumentet för execute
uttalande är en ordbok, och alla element i din vanliga fråga "UPDATE client SET musicVol = :mv , messageVol = :ml"
flydde med ett kolon söks efter i denna ordboks nycklar. execute
Metoden hittade ingen nyckel 'mv'
inte heller 'ml'
i denna ordbok uppstår därför ett fel.
Detta är den korrekta versionen:
db.my_session.execute(
"UPDATE client SET musicVol = :mv, messageVol = :ml",
{'mv': music_volume, 'ml': message_volume}
)