如何从其他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))
看起来你的帖子主要是代码;请添加更多详细信息。 ????
最佳答案
由于您的选择不是静态的并且需要数据库查询,因此您应该将它们填充到 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
关于flask - 如何 Flask-admin 从数据库添加动态 form_choices,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56075633/