我正在嘗試在金字塔應用程序上使用帶有SQLAlchemy擴展的WTForms。SQLAlchemy/WTForms QuerySelectField
我做:
from wtforms import Form, TextField,TextAreaField, validators
from wtforms.ext.sqlalchemy.fields import QuerySelectField
from app.models import DBSession
from app.models import ParentModel
class NewChild(Form):
title = TextField('Title:', [validators.Required()])
intro = TextAreaField('Introduction:')
body = TextAreaField('Body:')
parent = QuerySelectField(query_factory=DBSession().query(ParentModel).all)
DBSession被定義爲
DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension()))
查詢似乎工作,但在我的模板顯示正在讀
<app.models.ParentModel object at 0x9xxx>
或一些這樣的。我究竟做錯了什麼?
定義一個
__str__
方法ParentModel一類?也許你應該嘗試ParentModel.name或你想要顯示的東西 –我試過......實際上,我有一個類方法'DBSession.query(ParentModel).order_by(sa.desc(ParentModel.title))'顯示標題當作爲模板中的直接變量(即'variable = ParentModel.all()')調用時。這不會改變我在窗體上看到的輸出。 – brandonjschwartz
你能告訴我們你的模板嗎? – ajkumar25