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()]
添加回答
舉報