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 专家,但从文档看来,它使用了一种叫做全局会话的东西。

要将更改保存到数据库,请执行Django 中session.commit()没有的save()方法。

于 2011-07-07T11:03:02.140 回答