1

Djangoモデルを使用して作成されたデータベースがあり、SQLAlchemyとElixirを使用してアクセスしています。クエリは機能し、データベースからアイテムを完全にうまく引き出すことができますが、アイテムを編集して保存しようとすると、次の例外がスローされます。

>>> p = Problem.query.first()
>>> p
<Problem('Test Problem', 'This is a test problem so the database has something in it', 'SBMT')>
>>> p.name
u'Test Problem'
>>> p.name = "Test_Problem"
>>> p.save()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/elixir/entity.py", line 1116, in save
    return self._global_session.save(self, *args, **kwargs)
    AttributeError: 'Session' object has no attribute 'save'

私は何が間違っているのですか?データベースに保存できないというセットアップの重要な部分を見逃したことがありますか、それとも私のバージョンのelixirとSQLAlchemyに問題がありますか?

すでに実行setup_all()していて、metadata.bindすべて設定されているので、データベースにクエリを実行できます。

4

1 に答える 1

0

私はElixirの専門家ではありませんが、ドキュメントからは、グローバルセッションと呼ばれるものを使用しているように見えます。

変更をデータベースに保存するには、を実行します。Djangosession.commit()のような方法はありませんsave()

于 2011-07-07T11:03:02.140 に答える