为了账号安全,请及时绑定邮箱和手机立即绑定

Flask SQLAlchemy .query.all() 仅返回 PK

Flask SQLAlchemy .query.all() 仅返回 PK

MMTTMM 2023-08-08 16:51:10
我将 SQLAlchemy 与 Flask 一起使用,当尝试从数据库返回所有值时,我只获取主键。models.pyfrom app import dbclass Category(db.Model):    id = db.Column(db.Integer, primary_key=True)    title = db.Column(db.String(64), index=True, unique=True)    url = db.Column(db.String(64))    color = db.Column(db.String(64))routes.pyfrom flask import render_template, url_forfrom app import dbfrom app.models import Category@bp.route('/')def index():    categories = Category.query.all()    return render_template('index.html', title='Home', categories=categories)当我使用以下命令在 html 文件中显示值时:{{ categories }}我可以看到每一行的 ID,但什么也看不到。示例输出:[<Category 1>, <Category 2>] 当我尝试使用以下方法迭代这些值时:  {% for data in categories %}  Data 0: {{ data[0] }}<br/>  Data 1: {{ data[1] }}<br/>  Data 2: {{ data[2] }}<br/>  Data 3: {{ data[3] }}<br/>  {% endfor %}所有值均为空。我希望这是我忽略的一些小事,非常感谢任何帮助!
查看完整描述

1 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

data是一个Category对象。除非你已经使该类可索引,否则data[0]将会出错(jinja2 捕获并替换为任何内容)。尝试做类似的事情:

{% for data in categories %}
    Data {{ data.id }}: {{ data.title }}<br/>
{% endfor %}


查看完整回答
反对 回复 2023-08-08
  • 1 回答
  • 0 关注
  • 138 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信