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

我将 SQLAlchemy 与 Flask 一起使用,当尝试从数据库返回所有值时,我只获取主键。


models.py


from app import db


class 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.py


from flask import render_template, url_for

from app import db

from 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 %}

所有值均为空。我希望这是我忽略的一些小事,非常感谢任何帮助!


MMTTMM
浏览 139回答 1
1回答

摇曳的蔷薇

data是一个Category对象。除非你已经使该类可索引,否则data[0]将会出错(jinja2 捕获并替换为任何内容)。尝试做类似的事情:{%&nbsp;for&nbsp;data&nbsp;in&nbsp;categories&nbsp;%} &nbsp;&nbsp;&nbsp;&nbsp;Data&nbsp;{{&nbsp;data.id&nbsp;}}:&nbsp;{{&nbsp;data.title&nbsp;}}<br/> {%&nbsp;endfor&nbsp;%}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python