2017-03-01 257 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('')逻辑。再次感谢你 –