flask db query.all读取一列数据

时间:2018-03-06 00:59:44

标签: flask flask-sqlalchemy

我需要查询我的数据库并将其中一个列值重新分配给另一个值,并将新值传递给模板进行渲染。我是否应该尝试在烧瓶或模板中完成此操作?我怎么能做到这一点?

我有db model as:

class Items(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    item_name = db.Column(db.String(60), unique=True, nullable=False)
    item_type = db.Column(db.String(1), nullable=False)

我有烧瓶功能:

@auth.route('/items', methods=['GET', 'POST'])
@login_required
def list_items():
    items = Items.query.all()
    if items.item_type == "s":
      items.item_type = "Sod"
    return render_template('auth/item_list.html', items=items, title='Items')

我有模板:

<tbody>
{% for item in items %}                    
<tr>
 <td> {{ items.item_name }} </td>
 <td> {{ items.item_type }} </td>
</tr>
{% endfor %}
</tbody>         

1 个答案:

答案 0 :(得分:0)

您应该对items进行迭代,以检查每个item_type的{​​{1}}:

item

您的模板文件中存在错误:

for item in items:
    if item.item_type == 's':
        item.item_type = "Sod"