2017-03-01 17 views
0

各辞書に3つのキー(タイトル、URL、スコア)を持つ辞書のリストがあります。flask-sqlalchemyを使用して辞書のリストをデータベースに保存

私はsqlalchemy(私はsqlite3を使用しています)を使用して、dbモデルの別のインスタンスとして各辞書を保存したいと思います。

辞書の私のリストはここ

は私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() 

このコードでプログラムを実行しているとき、私は、次のエラーを取得してきた:

UnmappedInstanceError: Class '__builtin__.dict' is not mapped 

答えて

0

最後のリストの各dictから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( '')ロジックを考えることができませんでした。ありがとうございました –

関連する問題