Middle
57
Implementieren Sie die Methode increment für das SQLAlchemy-Modell: Erhöhen Sie das Guthaben des Benutzers um diff mit einer Überprüfung des maximalen Guthabens. Geben Sie True zurück, wenn sich das Guthaben geändert hat, sonst False.
Unternehmen wurden gefragt
Сбер.clouds
Antwort von AI
sobes.tech KI
python from sqlalchemy import Column, Integer from sqlalchemy.orm import Session
class User: id = Column(Integer, primary_key=True) balance = Column(Integer)
def increment(self, session: Session, diff: int, max_balance: int) -> bool:
new_balance = self.balance + diff
if new_balance > max_balance:
return False
self.balance = new_balance
session.add(self)
session.commit()
return True
В этом методе мы сначала вычисляем потенциальный новый баланс. Если он превышает максимальный, возвращаем False. Иначе обновляем баланс, сохраняем изменения в сессии и возвращаем True.