Есть два объекта:
class Olympiad(db.Model): __tablename__ = 'Olympiad' id = Column(Integer, primary_key=True, nullable=False, autoincrement=True) name = Column(String, label='Название', nullable=False) date = Column(Date, label='Дата', nullable=False) description = Column(String, label='Описание') # Status? def __str__(self): return '<Олимпиада: "%s" от [%s]>' % (self.name, self.date) class Criterion(OlympiadBase): __tablename__ = 'Criterion' olympiad_id = db.Column(db.Integer, db.ForeignKey('Olympiad.id')) olympiad = db.relationship('Olympiad', backref=db.backref('Criterion', lazy='dynamic')) def __str__(self): return '<Модуль: "%s" (%s)>' % (self.name, self.max_balls)
value < olympiad.max_balls - sum([criterion.max_balls for criterion in other_criterion])
Ведь если записывать в параметр валидатора max=MyCalcMax()
То максимум будет статичен и глуп, спустя пару изменений
В арсенале используется (requirments.txt)):
Flask==0.10.1 Flask-SQLAlchemy==2.1 Flask-WTF==0.12 Jinja2==2.8 MarkupSafe==0.23 SQLAlchemy==1.0.12 SQLAlchemy-Defaults==0.4.4 SQLAlchemy-Utils==0.31.6 WTForms==2.1 WTForms-Alchemy==0.15.0 WTForms-Components==0.10.0 Werkzeug==0.11.4 decorator==4.0.9 infinity==1.3 intervals==0.6.0 itsdangerous==0.24 six==1.10.0 validators==0.10