1 回答
TA贡献1803条经验 获得超3个赞
SQLAlchemy 是一个对象关系映射器。它有助于在没有 SQL 查询的情况下与数据库交互。它是对数据库的抽象。所以你不应该在这里写 SQL 查询。相反,您必须从 db.Model 创建一个继承的类。如下所示。
class FoodType(db.Model):
id = db.Column(db.Integer, primary_key=True)
food_name = db.Column(db.String(120), unique=True, nullable=False)
def __repr__(self):
return '<User %r>' % self.food_name
然后为了获取数据,你必须调用查询函数,
db.query.all()
# or
db.query.filter_by()
结果将是一个列表。
如果你直接使用 postgres,而不使用 SQLAlchemy,那么 SQL 查询将是这样的,
>>> conn = psycopg2.connect(DATABASE_URL)
>>> cur = conn.cursor()
>>> cur.execute('SELECT food_name FROM food_type')
>>> cur.fetchall()
[['bread'], ['crackers'], ['ham'], ['bacon']]
如果要转换为单个列表,
eaten = [i[0] for i in db.fetchall()]
添加回答
举报