Pythonで小さなブログシステムをフラスコにプログラミングし、CKEditで投稿を編集できる小さなテンプレートを作成しました。私はポストAを更新したい場合、私は編集をした後、私は実際にポストD.はポストDのすべての元の内容が上書きされ、この場合には、3件の投稿を編集します、レコードを更新するときのSQLAlchemyの奇妙な振る舞い
A, B, C, D, E
:私は5件の記事を持っています編集されたAの内容とAの元の内容とは無関係です。
これは、最後の投稿を除くすべての投稿で発生します。私がDを編集したいのであれば、私は投稿Bを編集しますが、私はEを編集します。投稿は正常に編集されます。
私はそれがデータベースポインターに関するいくつかの問題だと思っていますが、その方法については分かりません。
更新コードはこれです:
def set_post(title, text, timestamp, page):
if page != '': #Update
data = Post.query.get(page)
data.title = title
data.text = text
db.session.commit()
[..]
私はすでに受信した「ページ」変数は(あるかの文の後にフラッシュ(ページ))正しいことを確認しました。
基礎となるデータベースエンジンはpage
値は、主キーではないSQLLite 3
実際にページ変数が実際にプライマリキーですか。モデル、行、そしてどのページが表示されますか? – univerio
[編集]に[mcve]を含めるようにしてください。 – davidism