如何从其他ModeView动态加载form_choices。
我的代码
class OnBoarding(db.Model):
__tablename__ = 'on_boarding'
status = db.Column(db.String(256))
class OptionStatus(db.Model):
__tablename__ = 'option_status'
id = db.Column(db.BigInteger, primary_key=True, autoincrement=True)
status = db.Column(db.String(256))
class OnBoardingAdminView(ModelView):
form_choices = {
'status': [(m.status, m.status for m in OptionStatus.query.all())],
}
admin.add_view(ModelView(OptionStatus, db.session, category='Option'))
admin.add_view(OnBoardingAdminView(OnBoarding, db.session))
您的帖子似乎主要是代码;请添加更多详细信息。 ????
答案 0 :(得分:0)
由于您的选择不是静态的,需要进行数据库查询,因此应在scaffold_form
或create_form
/ edit_form
中填充它们。
class MyView(BaseModelView):
def scaffold_form(self):
form = super(MyView, self).scaffold_form()
choices = ((m.status, m.status) for m in OptionStatus.query.all())
form.status.choices = choices
return form