link_title = []
comments = []
username = request.form['user']
user = requests.get('http://www.reddit.com/user/{username}/comments.json?'.format(username=username))
j = json.loads(user.content)
for i in j['data']['children']:
link_title.append(i['data']['link_title'])
for i in j['data']['children']:
comments.append(i['data']['body'])
g.db.execute("UPDATE comments SET (user,title,comments) VALUES (?,?,?)", (request.form['user'], link_title, comments))
基本的に、アプリにはフォームがあり、ユーザーを入力すると、先ほど示したコードが実行されます。これにより、ユーザーからコメント/タイトル/本文が取得されます。コメントをリスト全体として 1 列に追加して、誰かがフォームを使用するたびにコメントが消去されるようにしたいと考えています。このコードを実行すると、( 構文でエラーが表示され、gdexecute 行がポイントされます。これは間違っていますか? リストを 1 列 1 行に追加するにはどうすればよいですか?
編集:
cur.execute('PRAGMA foreign_keys = ON')
cur.execute('CREATE TABLE user(user_id integer primary key, username text)')
cur.execute('CREATE TABLE comments(comment_id integer primary key, title text, comments text, user_id, \
FOREIGN KEY(user_id) REFERENCES user(user_id))')
ユーザー/コメントテーブルに何かを挿入または削除すると、制約が設定されていないことがわかります。ユーザーが存在しない場合でも、コメント テーブルに user_id を追加できます。私のコード/ロジックは間違っていますか?