Middle
60
Implementeer de methode increment voor het SQLAlchemy-model: verhoog het saldo van de gebruiker met diff met een controle op het maximale saldo. Geef True terug als het saldo is gewijzigd, anders False.
Bedrijven waar gevraagd werd
Сбер.clouds
Antwoord van AI
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.