【问题标题】:populate sqlalchemy from request.form without wtforms从没有 wtforms 的 request.form 填充 sqlalchemy
【发布时间】:2017-10-25 09:56:30
【问题描述】:

假设我通过以下方式从 sqlalchemy 中提取数据:

u=Mobility.query.filter_by(username=request.form.get('user')).first()

Mobility 类有 3 个条目用户名(字符串)、字母(字符串)、日期(日期时间)。我的 request.form 将作为其字典的一部分

request.form=ImmutableMultiDict([('letter', u'values'), ('date', u'2017-05-24'), ('user',u'someone'),('stuff',u'stuffvalue')])

我有一个如下所示的标题:

header=[]
for head in Mobility.__table__.columns:
 header.append(head)

我想做以下事情:

for head in header:
 u[head.name]=request.form[head.name]

db.session.commit()

【问题讨论】:

    标签: python python-2.7 sqlalchemy flask-sqlalchemy


    【解决方案1】:

    您可以使用getattr 来实现:

    for head in header:
        setattr(u, head.name, request.form[head.name])
    

    这允许您动态设置对象的任何属性。

    【讨论】:

      猜你喜欢
      • 2020-03-02
      • 1970-01-01
      • 1970-01-01
      • 2014-07-05
      • 1970-01-01
      • 1970-01-01
      • 2013-08-21
      • 1970-01-01
      • 2014-07-30
      相关资源
      最近更新 更多