Middle
61
Implemente el método increment para el modelo SQLAlchemy: aumente el saldo del usuario en diff con una verificación del saldo máximo. Devuelva True si el saldo cambió, de lo contrario False.
Empresas donde se preguntó
Сбер.clouds
Respuesta de la IA
sobes.tech AI
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.