【问题标题】:How do I populate many-to-many relationship with WTForms and SQLAlchemy?如何使用 WTForms 和 SQLAlchemy 填充多对多关系?
【发布时间】:2012-09-26 10:14:28
【问题描述】:

我正在使用 sqlalchemy 和 wtforms 在 tornado 中构建一个应用程序。我有两个模型委员会和成员有多对多的关系。我无法使用 sqlalchemy 模型填充表单。

我的模型是这样的

class Committee(Base):
    __tablename__ = 'committee'

    id_ = Column(Integer, primary_key=True)
    name = Column(String)

class Member(Base):
    __tablename__ = 'member'

    id_ = Column(Integer, primary_key=True)
    name = Column(String)
    phone = Column(String)
    committee = relationship("Committee",
                  secondary=member_committee_table,
                  backref="members")

#query wrapper used in wtforms
def get_members():
    #return m.Session.query(Member).all()
    return m.Session.query(Member)

class CommitteeForm(BaseForm):
    name = TextField('name', validators=[Required()])
    members = QuerySelectMultipleField(query_factory=get_members())

这给了我一个错误,告诉我“查询”对象不可调用

【问题讨论】:

    标签: python sqlalchemy wtforms


    【解决方案1】:

    去掉'()'。 它需要一个方法工厂

    members = QuerySelectMultipleField(query_factory=get_members)
    

    【讨论】:

      猜你喜欢
      • 2014-09-26
      • 2014-03-07
      • 1970-01-01
      • 2012-04-10
      • 1970-01-01
      • 2020-06-10
      • 2022-01-13
      • 2022-01-25
      相关资源
      最近更新 更多