Sobes.tech
Middle
44

SQLAlchemy моделине үчүн increment ыкмасын ишке ашырыңыз: колдонуучунун балансын diff менен көбөйтүңүз жана максималдуу балансын текшериңиз. Эгер баланс өзгөрсө, True кайтарыңыз, эгер өзгөрмөсө, False.

Кайсыл жерде компаниялар сурады
Сбер.clouds

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.