Tag: sqlalchemy

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

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

Как переопределить имя столбца в sqlalchemy с использованием рефлексивного и описательного синтаксиса

Привет, я пытаюсь перенести унаследованное приложение на python с sqlalchemy. Существующая база данных приложения имеет около 300 таблиц, и в каждой таблице есть код с именем def, например: create table accnt ( code varchar(20) , def varchar(50) –for accnt definition , … ) Поэтому, когда с декларативным синтаксисом и отражением я могу легко создать свой […]

Вставить ключ перед сеансом фиксации

class Parent(db.Model): id = db.Column(db.Integer, primary_key=True) class Child(db.Model): id = db.Column(db.Integer, primary_key=True) parent_id = db.Column(db.Integer, db.ForeignKey('parent.id')) parent = Parent() db.session.add(parent) child = Child() child.parent_id = parent.id db.session.add(child) db.session.commit() Я хочу ВСТАВИТЬ в parent и child таблицы внутри сеанса, учитывая, что parent_id должен быть включен в parent_id таблицу. В момент создания child объекта parent.id – None […]

Как полностью отключить регистрацию sqlalchemy

sqlalchemy поддерживает loggin для консоли, даже если у меня есть следующий код import logging logger = logging.getLogger() logger.disabled = True Как полностью отключить ведение журнала sqlalchemy?

SQLAlchemy – Как я могу получить свойство load load count

Я хочу создать свойство для модели, которое содержит count. Поскольку мне всегда нужно свойство, я хочу сделать запрос с помощью JOIN как sqlalchemy.orm.relationship с lazy='joined' Например, я определил модели, подобные следующим import sqlalchemy as s, func from sqlalchemy.orm import relatioship # … class Foo(Base): __tablename__ = 'foo' id = s.Column(s.Integer, primary_key=True) bar_id = s.Column(s.Integer, s.ForeignKey('bar.id')) […]

Получение последнего идентификатора вставки с помощью SQLAlchemy

Я использую SQLAlchemy import hashlib import sqlalchemy as sa from sqlalchemy import orm from allsun.model import meta t_user = sa.Table("users",meta.metadata,autoload=True) class Duplicat(Exception): pass class LoginExistsException(Exception): pass class EmailExistsException(Exception): pass class User(object): """ def __setattr__(self, key, value): if key=='password' : value=unicode(hashlib.sha512(value).hexdigset()) object.__setattr__(self,key,value) """ def loginExists(self): try: meta.Session.query(User).filter(User.login==self.login).one() except orm.exc.NoResultFound: pass else: raise LoginExistsException() def emailExists(self): try: […]

Изменение ограничений именования ограничений в Flask-SQLAlchemy

Я хотел бы изменить стандартные соглашения об именах ограничений, которые установлены в Flask-SQLAlchemy, чтобы облегчить миграцию с Alembic. Поскольку Flask-SQLAlchemy создает декларативную базу (где вы можете предоставить соглашения об именах), я не уверен, что лучший способ сделать это. Могу ли я изменить соглашения об именах после создания декларативной базы (т. Е. Когда я создал объект […]

Словарь тегов в декларативной SQLAlchemy?

Я работаю над довольно большой базой кода, которая была реализована с использованием sqlalchemy.ext.declarative , и мне нужно добавить свойство dict-like в один из классов. То, что мне нужно, такое же, как в этом вопросе , но декларативно. Может ли кто-нибудь с большим количеством знаний в SQLAlchemy дать мне пример? Заранее спасибо…

Транзакция в транзакции

Я хочу знать, безопасно ли и безопасно ли открывать транзакцию внутри другого? У меня есть метод: def foo(): session.begin try: stuffs except Exception, e: session.rollback() raise e session.commit() и метод, который вызывает первый, внутри транзакции: def bar(): stuffs try: foo() #<<<< there it is 🙂 stuffs except Exception, e: session.rollback() raise e session.commit() если я […]

Как установить время ожидания соединения в SQLAlchemy

Я пытаюсь выяснить, как установить тайм-аут соединения в create_engine() , до сих пор я пробовал: create_engine(url, timeout=10) TypeError: Недопустимый аргумент (ы) 'timeout', отправленный в create_engine (), с использованием конфигурации PGDialect_psycopg2 / QueuePool / Engine. Убедитесь, что аргументы ключевого слова подходят для этой комбинации компонентов. create_engine(url, connection_timeout=10) TypeError: недопустимый аргумент (ы) 'connection_timeout', отправленный в create_engine (), […]

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