2016-07-08 18 views
1

私はPHPの経験がありますが、FlaskとPythonには初めてです。簡単なことで助けが必要です。FlaskとWTFormsを使用したデータベースクエリからの動的ラジオボタン

データベーステーブルがあり、ラジオボタンで各エントリが必要です。私は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の選択肢atributeで結果を使うのですか?

class SimpleForm(Form): 
    example = RadioField('Label', choices=[]) 

私は多くの方法を試しましたが、私はいつもエラーが発生しました。私はいくつかの助けに感謝します。ありがとうございました。

答えて

0

選択肢を動的に設定しているので、フォームを定義するときにそれらを宣言しないでください。代わりに、あなたのビュー関数では、このようなフォームをインスタンス化する必要があります(以下はテストされていません):

form = SimpleForm() 

form.example.choices = [(probot.id, probot.botname) for probot in Probot.query.all()] 
+0

ありがとう、ありがとう! – Azurelle

関連する問題