Tag: sqlalchemy

Является ли SQLAlchemy по-прежнему рекомендуемым, если он используется только для сырого SQL-запроса?

Используя Flask, мне любопытно узнать, является ли SQLAlchemy лучшим методом для запроса моей базы данных с необработанным SQL (прямая SELECT x FROM table WHERE … ) вместо использования ORM или если есть более простая, но мощная альтернатива ? Спасибо за ваш ответ.

Может ли кто-нибудь сказать, что случилось с моими отношениями?

Я использую sqlalchemy для создания сайта стиля форума. Я начал выбивать дизайн, но каждый раз, когда я пытаюсь проверить его с помощью нескольких вставок, он сбрасывает кирпич; NoForeignKeysError: Could not determine join condition between parent/child tables on relationship Thread.replies – there are no foreign keys linking these tables. Ensure that referencing columns are associated with […]

Обработка столбцов идентичности Redshift в SQLAlchemy

Я использую пакет redshift-sqlalchemy для подключения SQLAlchemy к Redshift. В Redshift у меня есть простая таблица «компаний»: create table if not exists companies ( id bigint identity primary key, name varchar(1024) not null ); На стороне SQLAlchemy я сопоставил ее так: Base = declarative_base() class Company(Base): __tablename__ = 'companies' id = Column(BigInteger, primary_key=True) name = […]

Выполните какой-либо код, когда действительно удалено удаление объекта SQLAlchemy

У меня есть модель SQLAlchemy, которая представляет файл и, таким образом, содержит путь к фактическому файлу. Так как удаление строки и файла базы данных должно идти (так что оставшихся потерянных файлов не осталось, а строки не указывают на удаленные файлы), я добавил метод delete() в класс модели: def delete(self): if os.path.exists(self.path): os.remove(self.path) db.session.delete(self) Это прекрасно […]

Проверить ограничение для взаимоисключающих столбцов в SQLAlchemy

Если у меня есть декларативная модель SQLAlchemy, как показано ниже: class Test(Model): __tablename__ = 'tests' id = Column(Integer, Sequence('test_id_seq'), primary_key=True) … Atest_id = Column(Integer, ForeignKey('Atests.id'), nullable=True) Btest_id = Column(Integer, ForeignKey('Btests.id'), nullable=True) Ctest_id = Column(Integer, ForeignKey('Ctests.id'), nullable=True) Dtest_id = Column(Integer, ForeignKey('Dtests.id'), nullable=True) Etest_id = Column(Integer, ForeignKey('Etests.id'), nullable=True) … date = Column(DateTime) status = Column(String(20)) # pass, […]

Заказ и разбивка на страницы в SQL-алхимии с использованием не-sql-ранжирования

У меня есть алгоритм python, который возвращает упорядочение рядов строк базы данных для данного пользователя. Этот алгоритм выводит список идентификаторов первичного ключа (эти ключи могут быть соединены с post.id). Это выглядит следующим образом, за исключением того, что есть потенциально тысячи совпадений: result_rank = [1286, 1956, 6759, 3485, 2309, 3409, 9023, 912, 13098, 23489, 19023, 1239] […]

Лучший способ интеграции SqlAlchemy в проект Django

Я изменил приложение Django на использование SQLAlchemy, и теперь он работает. Но мне интересно, куда я должен поместить эти строки: engine = sqlalchemy.create_engine(settings.DATABASE_URL) Session = sqlalchemy.orm.sessionmaker(bind=engine) session = Session() Причина, по которой я спрашиваю, заключается в том, что я хочу использовать SQLAlchemy на многих местах, и я не думаю, что ее правильная / мощная / […]

SQLAlchemy Вложенная ошибка отката

В моем коде python я получил ошибку, которая собирает статусы twitter и хранит в базе данных. sqlalchemy.exc.InvalidRequestError: This Session's transaction has been rolled back by a nested rollback() call. To begin a new transaction, issue Session.rollback() first. Я хочу знать, в чем проблема, почему это происходит и как я могу ее решить. Я понятия не […]

Добавление индексов в модели SQLAlchemy после создания таблицы

У меня есть модель кол-sqlalchemy: class MyModel(db.Model): __tablename__ = 'targets' id = db.Column(db.Integer, primary_key=True) url = db.Column(db.String(2048)) Таблица уже создана и используется. Я хочу создать индекс в атрибуте url, поэтому я передаю ему индекс = True: url = db.Column(db.String(2048), index=True) Как я могу заставить этот индекс вступить в силу, не удаляя и не воссоздавая таблицу?

Как выполнить «левое внешнее соединение» в SqlAlchemy

Мне нужно выполнить этот запрос :: select field11, field12 from Table_1 t1 left outer join Table_2 t2 ON t2.tbl1_id = t1.tbl1_id where t2.tbl2_id is null У меня были эти классы в python: class Table1(Base): …. class Table2(Base): table_id = Column( Integer, ForeignKey('Table1.id', ondelete='CASCADE'), ) …. Как мне перейти к приведенному выше из нижеследующего?

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