【问题标题】:How do you save models in Elixir如何在 Elixir 中保存模型
【发布时间】:2011-07-07 10:56:53
【问题描述】:

我有一个使用 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 已经设置好了,因此我可以查询数据库了。

【问题讨论】:

    标签: python sqlalchemy python-elixir


    【解决方案1】:

    我不是 Elixir 专家,但从文档看来它使用了一种称为全局会话的东西。

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

    【讨论】:

    • 谢谢!我不知道我是怎么错过的。不知何故,我最终在这里浏览了涉及 .save() 的博客文章和旧问题,这些问题似乎从未有过。
    猜你喜欢
    • 1970-01-01
    • 2017-10-29
    • 1970-01-01
    • 2018-05-02
    • 2013-01-11
    • 2022-07-25
    • 2023-02-09
    • 2021-11-09
    • 2012-11-18
    相关资源
    最近更新 更多