2016-07-08 2 views
1

저는 PHP에 대한 경험이 있지만 Flask와 Python에 익숙하지 않습니다. 간단한 작업으로 도움이 필요합니다.Flask 및 WTForms를 사용하는 데이터베이스 쿼리의 동적 라디오 버튼

데이터베이스 테이블이있어서 라디오 버튼에 각 항목이 필요합니다. WTForms를 사용해야하지만 할 수 없습니다. id는 값이어야하며 봇 이름은 레이블이어야합니다. 내가 쿼리 사용

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

관련 문제