Middle
55
შეასრულეთ 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.