2017-03-01 55 views
0

我有一個字典列表,每個字典中有三個鍵(標題,url,分數)。使用flask-sqlalchemy將字典保存到數據庫列表

我想使用sqlalchemy(我使用sqlite3)將每個字典保存爲一個數據庫模型的單獨實例。

我的詞典列表保存到一個名爲「最終」變

這裏是我的db.Model:

class Favorite(db.Model): 
    id = db.Column(db.Integer, primary_key=True) 
    tile = db.Column(db.String(100)) 
    url = db.Column(db.String(150)) 
    score = db.Column(db.Integer) 
    user_id = db.Column(db.Integer, db.ForeignKey('user.id')) 

    def __init__(self, title, url, score): 
     self.title = title 
     self.url = url 
     self.score = score 

至於我的邏輯,這是我到目前爲止已經試過:

for post in final: 
    db.session.add(post) 
    db.session.commit() 

與此代碼運行程序時我已經得到了以下錯誤

回答

0

您必須從最終列表中的每個字典構造Favorite的實例,然後將其添加到會話和提交。

for post in final: 
    fav=Favorite(title=post.get('title'),url=post.get('url'),score=post.get('score')) 
    db.session.add(fav) 
    db.session.commit() 
+0

謝謝,我知道我可以提交每個字典,但出於某種原因,無法想到您提供的title = post.get('')邏輯。再次感謝你 –