【发布时间】:2014-07-29 22:34:49
【问题描述】:
我想在将 flask-sqlalchemy 查询的结果发送到 render_template() 之前对其进行修改。
视图查询和修改项目:
items = Items.query
for i in items:
date = i.__dict__['date']
i.__dict__['date_modified'] = date.replace('/', '-')
return render_template('index.html', items=items)
模板输出项目时:
{% for i in items %}{{i.date_modified}}{% endfor %}
调试器中显示此错误:
KeyError: 'date_modified'
但是,如果我修改初始查询以获取分页对象,则不会引发错误并显示修改日期。
items = Items.query
items = items.paginate(page_num, items_per_page, True).items
for i in items:
date = i.__dict__['date']
i.__dict__['date_modified'] = date.replace('/', '-')
return render_template('index.html', items=items)
Query 结果和 Pagination 结果之间有什么区别,后者允许就地操作而不是前者?如何在不修改分页查询的情况下修改结果?
【问题讨论】:
标签: python flask sqlalchemy flask-sqlalchemy