<sqlite3.Row object at 0x1017fe3f0> 而不是数据库内容
Posted
技术标签:
【中文标题】<sqlite3.Row object at 0x1017fe3f0> 而不是数据库内容【英文标题】:<sqlite3.Row object at 0x1017fe3f0> instead of database contents 【发布时间】:2014-07-14 11:24:36 【问题描述】:我的模板是这样的:
% for order in orders %
<li><h2> order</h2>
% endfor %
我的路由功能是这样的:
@app.route('/order_history')
def orderhistory():
db = get_db()
cur = db.execute('select * from order_items')
orders = cur.fetchall()
return render_template('order_history.html', orders = orders)
知道为什么我得到的是行对象位置而不是数据库内容吗?
【问题讨论】:
【参考方案1】:您需要从行获取数据:
% for order in orders %
<li><h2> order[0] </h2></li>
% endfor %
SQL 查询始终返回包含列的行数据。以上假设您的 SELECT
每行仅返回一列。
如果您有多个列,则必须使用直接索引(order[1]
、order[3]
等)来处理这些列,或者遍历行以显示列:
% for order in orders %
<li><h2> order[0] </h2>
% for column in order %
% if not loop.first % column <br />% endif %
% endfor %
</li>
% endfor %
【讨论】:
除此之外还有其他使用直接索引的选项:<li><h2> order[0], order[1], order[2] </h2>
?我问的原因是因为它给了我一个奇怪的输出:(1, u'JKL', u'Chilli Peppers')
你在那里使用了一个元组。使用单独的插值, order[0] order[1]
等。以上是关于<sqlite3.Row object at 0x1017fe3f0> 而不是数据库内容的主要内容,如果未能解决你的问题,请参考以下文章
调用过滤器返回 <filter object at ... > [重复]
MaybeEncodingError:错误发送结果:'<multiprocessing.pool.ExceptionWithTraceback object at 0x0000018F09F33
UnidentifiedImageError: 无法识别图像文件 <_io.BytesIO object at 0x000002154C6AE400>
<__main__.List object at 0x0293B950>,输出结果是这个为啥
ValueError:错误的节点或字符串:<_ast.Name object at 0x0000016835AEE3D0>
当我尝试 print(query) 时,我得到的结果是 <pymongo.cursor.Cursor object at 0x00000273CCF21D90>