Tag: sqlalchemy

AttributeError: объект 'unicode' не имеет атрибута '_sa_instance_state'

Я просто изучаю, как использовать SQLAlchemy. Я пытаюсь сделать следующее, но сохраняю название и ссылку в двух отдельных таблицах: temp = Submissions(title=u'Facebook Homepage', link=u'http://facebook.com') session.add(temp) session.flush() transaction.commit() с помощью: class Links(Base): __tablename__ = 'links' id = Column(Integer, primary_key=True) link = Column(Text) created = Column(TIMESTAMP(), default=datetime.now()) def __init__(self, link): self.link = link class Submissions(Base): __tablename__ = […]

Когда мне нужно использовать sqlalchemy back_populates?

Когда я пытаюсь использовать пример привязки SQLAlchemy в следующем руководстве: Базовые шаблоны отношений У меня есть этот код #!/usr/bin/env python # encoding: utf-8 from sqlalchemy import create_engine from sqlalchemy import Table, Column, Integer, ForeignKey from sqlalchemy.orm import relationship, sessionmaker from sqlalchemy.ext.declarative import declarative_base engine = create_engine('sqlite:///:memory:', echo=True) Session = sessionmaker(bind=engine) session = Session() Base = […]

Как эффективно выполнять массовое вставку или обновление с помощью SQLAlchemy?

Я использую SQLAlchemy с бэкэнд Postgres для массового вставки-обновления. Чтобы попытаться повысить производительность, я пытаюсь совершать только один раз каждые тысячи строк или около того: trans = engine.begin() for i, rec in enumerate(records): if i % 1000 == 0: trans.commit() trans = engine.begin() try: inserter.execute(…) except sa.exceptions.SQLError: my_table.update(…).execute() trans.commit() Однако это не работает. Похоже, что […]

sqlalchemy, выберите с помощью обратного включения (не в) список значений дочернего столбца

У меня есть типичная связь Post / Tags (много тегов, связанных с одним сообщением) в flask-sqlalchemy, и я хочу выбирать сообщения, которые не помечены каким-либо тегом в списке, который я предоставляю. Во-первых, модели, которые я создал: class Post(db.Model): id = db.Column(db.Integer, primary_key=True) tags = db.relationship('Tag', lazy='dynamic') class Tag(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.Text(50)) […]

Могут ли Аламбик автогенерировать изменения колонны?

Я мог использовать alembic –autogenerate для добавления / удаления столбцов. Однако, когда я хотел изменить, например, столбец «url» от 200 символов до 2000 символов, он не обнаруживает изменения. Как я могу сделать Alembic (используя SQLAlchemy), обнаруживать изменения и сценарии автогенерации для «размеров» разных моделей разных столбцов и создавать команды «alter_column» для PostgreSQL? Редактировать: Почему автоматически […]

Как создать db mysql с sqlalchemy

Мне нужно создать db в mysql, используя sqlalchemy, я могу подключиться к db, если он уже существует, но я хочу иметь возможность создать его, если он не существует. это мои таблицы: #def __init__(self): Base = declarative_base() class utente(Base): __tablename__="utente" utente_id=Column(Integer,primary_key=True) nome_utente=Column(Unicode(20)) ruolo=Column(String(10)) MetaData.create_all() def __repr(self): return "utente: {0}, {1}, id: {2}".format(self.ruolo,self.nome_utente,self.utente_id) class dbmmas(Base): __tablename__="dbmmas" db_id=Column(Integer,primary_key=True,autoincrement=True) […]

Циркулярный импорт модели SQLAlchemy

У меня две модели в том же модуле, что и models . Они являются отношениями 1-1 и настроены для документов SQLAlchemy . Vehicle.py from models.AssetSetting import AssetSetting class Vehicle(Base): __tablename__ = 'vehicles' vehicle_id = Column(Integer, primary_key=True) … settings = relationship('AssetSetting', backref=backref('asset_settings')) AssetSetting.py from models.Vehicle import Vehicle class AssetSetting(Base): __tablename__ = 'asset_settings' asset_alert_setting_id = Column(Integer, primary_key=True, […]

Регулярные выражения в запросах SQLalchemy?

Можно ли использовать регулярное выражение так же, как session.query(MyObject).filter_by(REGEX) ? Если нет, как я могу использовать sqlAlchemy для извлечения записей, которые имеют varchar PK, начинающиеся с определенного значения (например, все те, чье поле города начинается с «SA»)? Благодарю.

Сохранять порядок списка в разбивке по страницам в sql

У меня есть список с порядком вставки. Я хочу разбивать страницы по одному и тому же порядку. Как вы можете видеть, в настоящее время выход будет отличаться от порядка. following_companies_list_data = Company.query.filter(Company.id.in_(['2', '24', '1', '7', '373'])).paginate( page, per_page=10, error_out=False) companies = following_companies_list_data.items for i in companies: print i.id 7 24 373 2 1 связанный вопрос

Обратный кадр данных Pandas из запроса PostgreSQL с sqlalchemy

Я хочу запросить базу данных PostgreSQL и вернуть результат в виде кадра данных Pandas. Я использую sqlalchemy для создания соединения с базой данных: from sqlalchemy import create_engine engine = create_engine('postgresql://user@localhost:5432/mydb') Я пишу файл данных Pandas в таблицу базы данных: i=pd.read_csv(path) i.to_sql('Stat_Table',engine,if_exists='replace') Основываясь на документах , выглядит так: pd.read_sql_query () должен принять механизм SQLAlchemy: a=pd.read_sql_query('select * […]

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