Sobes.tech
Middle
54

Implementirajte metodu increment za model SQLAlchemy: povećajte saldo korisnika za diff uz proveru maksimalnog salda. Vratite True ako se saldo promenio, inače False.

Компаније где су питане
Сбер.clouds

Одговор од АИ

sobes.tech АИ

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.