Python Sqlalchemy:.all()的目的

Python Sqlalchemy:.all()的目的,python,sqlalchemy,Python,Sqlalchemy,.all()的用途是什么。当下列函数 def showRestaurants(): restaurants = session.query(Restaurant) return render_template('restaurant.html',restaurants=restaurants) 返回与此函数相同的结果 def showRestaurants(): restaurants = session.query(Restaurant).all() return render_templa

.all()的用途是什么。当下列函数

def showRestaurants():
restaurants = session.query(Restaurant)
return render_template('restaurant.html',restaurants=restaurants)
返回与此函数相同的结果

def showRestaurants():
restaurants = session.query(Restaurant).all()
return render_template('restaurant.html',restaurants=restaurants)
对于此restaurant.html文件

<html>
<body>
<h1> Restaurants </h1>

{% for x in restaurants %}
</br>

{% endfor %}
</body>
</html>

餐厅
{%x在餐厅%}

{%endfor%}
它只执行您的查询并返回一个包含结果的列表,请参阅

或者,您可以手动执行查询:

session.execute(Restaurant.select())

第一个示例返回
Query
对象,您可以对其应用其他方法,例如
all()
——它将以列表形式返回该
Query
表示的结果


Query
对象在给出它之前作用于每一行,而第二个对象在开始给出它们之前作用于所有行。

为什么我可以在html文件中迭代查询对象。由于两者的类型不同,我添加了一些解释,你可以迭代对象,因为它有iter方法