FlaskでWebアプリを作成していたのですが、SQLiteでカラムが見つからないと言われてしまいました。エラーメッセージは以下のとおりです。
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) table link has no column named target
以下はコードです。
# __init__.pyでdb.create_all()をしている from .models import * from . import db link_items = list() location_items = list() for url in url_list: for link in link_list: new_link = Link(source=url, target=link) link_items.append(new_link) for query in query_list: new_location = Location(word=query, url=url) location_items.append(new_location) db.session.add_all(link_items) db.session.add_all(location_items) db.session.commit()
# models.py from . import db class Location(db.Model): word = db.Column(db.String(150), primary_key=True) url = db.Column(db.String(150), primary_key=True) class Link(db.Model): source = db.Column(db.String(150), primary_key=True) target = db.Column(db.String(150), primary_key=True)
スペルミスではないようですし、カラムも定義してあります。また、Linkのカラムは見つからないと言われていますが、Locationにはちゃんとデータを挿入できています。
type()でそれぞれの要素を確認しましたが、両方ともstrでした。
一応link_listとlocation_listの中身を載せておきます。
# link_list {'data.html', 'search.html'} # location_list {'list', 'node', 'dfs', 'edge', 'stack', 'bfs', 'queue'}
全く解説策が思い浮かばずに停滞しています。情報が足りない場合はすぐに補足いたします。何卒ご教授よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。