TypeError: 'Class' object not iterable - flask/sqlalchemy/jinja

TypeError: 'Class' object not iterable - flask/sqlalchemy/jinja

我正在从数据库中检索数据,我想将其放入 table。我正在使用 SQLAlchemy 和 SQLite 数据库。

这是我 routes.py 中的代码:

headings = ('Name', 'Code')
classes = tuple(list(ClassName.query.filter_by(id=current_user.id).all()))
print(classes)
return render_template("view.html", headings=headings, classes=classes)

这是view.html中的代码:

      <div class="view-table">
        <table>
          <tr>
            {% for header in headings %}
            <th>{{ header }}</th>
            {% endfor %}
          </tr>
          {% for row in classes %}
          <tr>
              {% for cell in row %}
                <td>{{ cell }}</td>
              {% endfor %}
          </tr>
          {% endfor %}
        </table>
      </div>

每当我 运行 它时,我都会收到此错误:

TypeError: 'Class' object is not iterable

我正在学习本教程,这就是我将列表更改为元组的原因:https://youtu.be/mCy52I4exTU

我找到了答案。

在我的 routes.py 中,我这样做了:

classes = Classes.query.filter_by(classAdminID=current_user.id).all()

在我的 view.html 中,我这样做了:

      <div class="view-table">
        <table>
          <tr>
            {% for header in headings %}
            <th>{{ header }}</th>
            {% endfor %}
          </tr>
          {% for row in classes %}
          <tr>
                <td>{{ row.Name }}</td>
                <td>{{ row.Code }}</td>
          </tr>
          {% endfor %}
        </table>
      </div>

我在这个视频中找到了解决方案:https://youtu.be/hbDRTZarMUw