class AspectForm(ModelForm, Form): class Meta: model = Aspect calculations = SelectField('Метод вычисления') def __init__(self, *args, **kwargs): super(AspectForm, self).__init__(*args, **kwargs) query = db.session.query(Calculation).all() self.calculations.choices = [(c.id, c.name) for c in query]
Переделывать в шаблоне могу, но это не так красиво.
Вот сама модель:
class Aspect(OlympiadBase): __tablename__ = 'Aspect' description = Column(Text, label='Описание') parent_id = db.Column(db.Integer, db.ForeignKey('SubCriterion.id')) sub_criterion = db.relationship('SubCriterion', backref=db.backref('Aspect', lazy='dynamic')) calculation_id = Column(db.Integer, db.ForeignKey('Calculation.id'), label='Метод') calculation = db.relationship('Calculation', backref=db.backref('Aspect', lazy='dynamic'))
calculation_id = Column(db.Integer, db.ForeignKey('Calculation.id'), label='Метод')
calculations = SelectField('Метод вычисления')