Tag: sqlalchemy

Получить последнее вставленное значение из MySQL с помощью SQLAlchemy

Я просто столкнулся с довольно неприятной проблемой, и после тестирования я обнаружил, что NONE из доступных ответов достаточно. Я видел различные предложения, но никто, кажется, не может вернуть последнее вставленное значение для поля auto_increment в MySQL. Я видел примеры, которые упоминают использование session.flush (), чтобы добавить запись, а затем получить идентификатор. Однако это всегда, кажется, […]

преобразовать результат запроса sqlalchemy в список dicts

Я хочу, чтобы результат моего запроса был преобразован в список dicts следующим образом: result_dict = [{'category': 'failure', 'week': '1209', 'stat': 'tdc_ok', 'severityDue': '2_critic'}, {'category': 'failure', 'week': '1210', 'stat': 'tdc_nok', 'severityDue': '2_critic'}] Но вместо этого я получаю это как dict, таким образом, с повторяющимися ключами: result_dict = {'category': 'failure', 'week': '1209', 'stat': 'tdc_ok', 'severityDue': '2_critic', 'category': […]

Как избежать вставки повторяющихся записей при добавлении значений через отношения sqlalchemy?

Предположим, что у нас есть две таблицы во многих отношениях, как показано ниже: class User(db.Model): __tablename__ = 'user' uid = db.Column(db.String(80), primary_key=True) languages = db.relationship('Language', lazy='dynamic', secondary='user_language') class UserLanguage(db.Model): __tablename__ = 'user_language' __tableargs__ = (db.UniqueConstraint('uid', 'lid', name='user_language_ff'),) id = db.Column(db.Integer, primary_key=True) uid = db.Column(db.String(80), db.ForeignKey('user.uid')) lid = db.Column(db.String(80), db.ForeignKey('language.lid')) class Language(db.Model): lid = db.Column(db.String(80), primary_key=True) […]

Десятичная точность SQLAlchemy

Документация на sqlalchemy дает пример: class sqlalchemy.types.DECIMAL(precision=None, scale=None, asdecimal=True) Какие значения, кроме None, вы можете использовать для точности? Я не понимаю, как настроить десятичную точность.

InvalidRequestError: VARCHAR требует длины на диалекте mysql

Я пытаюсь создать удаленную базу данных с помощью mysql на машине Ubuntu с 12.04. У него есть пользователь root с удаленным входом и без пароля. Я запустил сервер. выход sudo netstat -tap | grep mysql шоу tcp 0 0 localhost:mysql *:* LISTEN 13246/mysqld Я создал базу данных, использующую nwtopology (поскольку упомянутый root еще не имеет […]

Лучший способ получить доступ к экземплярам таблицы при использовании декларативного синтаксиса SQLAlchemy

Все документы для SQLAlchemy предоставляют примеры INSERT и UPDATE с использованием экземпляра локальной таблицы (например, tablename.update() …) Сделать это сложно с помощью декларативного синтаксиса, мне нужно ссылаться на Base.metadata.tables["tablename"] чтобы получить ссылку на таблицу. Должен ли я делать это по-другому? Есть ли другой синтаксис для INSERT и UPDATE рекомендованных при использовании декларативного синтаксиса? Должен ли […]

SQLAlchemy выбрасывает IntegrityError из-за DBSession.add ()

Во второй раз строка 121 вызывается в этом скрипте http://paste.pocoo.org/show/520040/ , я получаю это сообщение об ошибке: *** IntegrityError: (IntegrityError) duplicate key value violates unique constraint "heroes_pkey" DETAIL: Key (id)=(14) already exists. 'INSERT INTO heroes (id, name, description, image_name, default_filename, faction, stat, roles, strength, agility, intelligence, strength_gain, agility_gain, intelligence_gain, min_hp, max_hp, min_mana, max_mana, min_damage, max_damage, […]

Как создать флажок в Flask-SQLAlchemy create_all для создания моделей?

Метод db.create_all() Flask-SQLAlchemy создает каждую таблицу, соответствующую моим определенным моделям. Я никогда не создаю экземпляры моделей или не регистрирую их. Это просто определения классов, которые наследуются от db.Model . Как узнать, какие модели я определил?

Как сохранить unicode с помощью SQLAlchemy?

Я столкнулся с такой ошибкой: File "/vagrant/env/local/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 435, in do_execute cursor.execute(statement, parameters) exceptions.UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 8410: ordinal not in range(128) Это происходит, когда Im пытается сохранить объект ORM с назначенной строкой unicode Python. И в результате parameters dict имеют строку unicode в качестве одного из ее значений и […]

SQLAlchemy: конвертировать значение столбца взад и вперед между внутренним и базовым форматом

В моей базе данных у меня есть несколько столбцов, где данные хранятся в каком-то странном формате. Поскольку база данных также используется другим кодом, я не могу изменить формат данных. Например, один из странных форматов заключается в том, что значение времени представлено как строка, например 23:42:30 . Я хотел бы иметь некоторую магию, которая позволяет мне […]

Python - лучший язык программирования в мире.