Tag: sqlalchemy

SQLAlchemy ORDER BY FIELD ()

Я пытаюсь сортировать объект ORM SQLAlchemy по полю, но с определенным порядком значений (который не является ни восходящим, ни нисходящим). Если бы я делал этот запрос в MySQL, это выглядело бы так: SELECT letter FROM alphabet_table WHERE letter in ('g','a','c','k') ORDER BY FIELDS( letter, 'g','a','c','k'); для выхода: letter —— g a c k Для SQLAlchemy […]

Использование разных привязок в одном классе в Flask-SQLAlchemy

В настоящее время у меня есть несколько баз данных с одинаковыми таблицами и столбцами (но разные данные внутри). Поэтому я должен использовать привязки для доступа ко всем из них, но это, по-видимому, не так просто, как это сделать: class WhateverTable(db.Model): __tablename__ = 'whatevertable' whatever = db.Column(db.String(255)) def __init__(self, bind=None): self.__bind_key__ = bind а затем позже: […]

изменение в обработке импорта / модулей от python2 до python3?

Я пытался следовать шаблону проектирования, показанному в этом предыдущем вопросе, связанном с SQLAlchemy и предназначенному для совместного использования общего экземпляра Base в нескольких файлах. Код точно так же работает на python2 и python3. Однако, когда я перемещаю файлы a.py, b.py, c.py и base.py в модуль (называемый моделью) и добавляю необходимый файл __init__.py, он продолжает работать […]

Python / SQL Alchemy Migrate – «ValueError: слишком много значений для распаковки» при переносе изменений в db

У меня есть несколько моделей в SQLAlchemy, и я только начал получать исключение при запуске моих скриптов миграции: ValueError: слишком много значений для распаковки Вот мои модели: from app import db ROLE_USER = 0 ROLE_ADMIN = 1 class UserModel(db.Model): __tablename__ = 'user' id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(25), index=True) password = db.Column(db.String(50)) email = […]

Как определить целое число без знака в SQLAlchemy

Я переношу портал в Flask с Flask-SQLAlchemy (MySQL). Ниже приведен код, который я использовал для создания моей БД для моего существующего портала: Users = """CREATE TABLE Users( id INT UNSIGNED AUTO_INCREMENT NOT NULL, UserName VARCHAR(40) NOT NULL, FirstName VARCHAR(40) NOT NULL, LastName VARCHAR(40) NOT NULL, EmailAddress VARCHAR(255) NOT NULL, Password VARCHAR(40) NOT NULL, PRIMARY KEY […]

DELIMITER / Создание триггера в SQLAlchemy

Мне нужно создать триггер ДОБАВИТЬ в SQLAlchemy: DELIMITER | CREATE TRIGGER set_rank BEFORE INSERT ON authors FOR EACH ROW BEGIN IF NEW.rank = 0 THEN SET NEW.rank = (SELECT IFNULL(MAX(a.rank),0) + 1 FROM authors AS a WHERE a.id = NEW.pub_id); END IF; END | DELIMITER ; Выполнение кода в mysql-workbench работает отлично, но при выполнении […]

SQLAlchemy импортирует таблицы с отношениями

У меня проблема с разделением таблиц с отношениями в разных файлах. Я хочу, чтобы приведенные ниже таблицы были в трех отдельных файлах и импортировали TableA на стороннюю страницу, но я не могу управлять порядком загрузки. В большинстве случаев я получаю следующую ошибку. sqlalchemy.exc. InvalidRequestError: при инициализации mapper Mapper | TableA | tablea, выражение «TableB» не […]

Как подключить базу данных MySQL с помощью Python + SQLAlchemy удаленно?

У меня возникли трудности с удаленным доступом к MySQL. Я использую SSH-туннель и хочу подключить базу данных MySQL с помощью Python + SQLALchemy. Когда я использую MySQL-клиент в своей консоли и указываю « ptotocol=TCP », тогда все в порядке! Я использую команду: mysql -h localhost —protocol=TCP -u USER -p Я получаю доступ к удаленной базе […]

Обновление SqlAlchemy не работает с Sqlite

Я последовал (двум) примерам в этом вопросе: SQLAlchemy: лучший способ для обновления с декларативным? И я обнаружил, что обновление модели не происходит при использовании sqlite с flask-sqlalchemy на Ubuntu Linux. Самый простой пример для меня не работает: class Task: id= db.Column(db.Integer, primary_key=True) name= db.Column(db.String(32), unique=True) desc= db.Column(db.String(255), unique=False) state= db.Column(db.Boolean) # … @app.route("/task/<int:id>/update",methods=["POST"]) def toggle_state(id): […]

SQLAlchemy возвращает tuple не словарь

Я обновил SQLAlchemy до 0,6, но он сломал все. Я заметил, что он возвращает tuple, а не словарь. Вот пример запроса: query = session.query(User.id, User.username, User.email).filter(and_(User.id == id, User.username == username)).limit(1) result = session.execute(query).fetchone() Этот фрагмент кода, используемый для возврата словаря в 0.5. Мой вопрос: как я могу вернуть словарь?

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