Как сохранить модели в эликсире - PullRequest
1 голос
/ 07 июля 2011

У меня есть база данных, созданная с использованием моделей 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 все установлено, поэтому я могу запросить базу данных.

1 Ответ

0 голосов
/ 07 июля 2011

Я не эксперт по Elixir, но из документации видно, что она использует глобальный сеанс.

Чтобы сохранить изменения в базе данных, вы делаете session.commit(), здесь нет метода save(), как в Django.

...