如何获取数据库的内容数据?

时间:2018-03-07 15:09:00

标签: python sqlalchemy

如何获取数据库的内容数据?我在index.py中写道,

def index():
    user_data = UserData.query.filter_by(id=1)
    return render_template('index.html', user_data=user_data)
index.html中的

   <div>
        <p>{{ user_data.name }}</p>
   </div>

在models.py

class UserData(db.Model):
    id = db.Column(db.Integer)
    name = db.Column(db.Text)

当我在浏览器中显示index.html时,jinja2.exceptions.UndefinedError:&#39; name&#39;是未定义的错误发生。我在index.py,

重写
def index():
    user_data = UserData.query.filter_by(id=1).all()
    return render_template('index.html', user_data=user_data)

但同样的错误发生了。我怎么能得到&amp;在index.html中显示id = 1的名称值?我该如何修复此代码?

1 个答案:

答案 0 :(得分:1)

基本上,您的查询返回一个对象列表,而不是单个对象。

埃里克威尔逊的评论是正确的。 .all()会在.one()(我更喜欢.first())返回一个.name作为属性的对象时返回一个列表。