我有使用PHP的经验,但我是Flask和Python的新手,我需要一些简单的帮助。
我有一个数据库表,我需要一个单选按钮中的每个条目。我需要使用WTForms,但我无法做到。 id应该是值,botname应该是标签。
这是我的表:
class Probot(db.Model):
__tablename__ = "probot"
id = db.Column(db.Integer, primary_key=True)
botname = db.Column(db.String(20), unique=True, index=True)
is_available = db.Column(db.Boolean, nullable=False, default=True)
battery = db.Column(db.Integer)
registered_on = db.Column(db.DateTime,default=datetime.datetime.utcnow())
我使用查询:Probot.query.all()但是如何在表单上的RadiofField的选择属性中使用结果?
class SimpleForm(Form):
example = RadioField('Label', choices=[])
我尝试了很多方法,但我总是遇到错误,我会很感激一些帮助。谢谢。
答案 0 :(得分:2)
由于您是动态设置选项,因此在定义表单时不要声明它们。相反,在您的视图函数中,您需要像这样实例化表单(以下是未经测试的):
form = SimpleForm()
form.example.choices = [(probot.id, probot.botname) for probot in Probot.query.all()]