Tag: sqlalchemy

Как уловить ошибку 1062 «дублировать запись» независимо от используемой базы данных / движка?

В проекте я начал с MySQL как базы данных. Вместо того, чтобы сначала проверять, я просто делаю вставку, и если я получаю исключение IntegrityError с кодом 1062, я знаю, что есть повторяющаяся запись и предупреждает пользователя, чтобы сделать это и что. что выглядит в основном так: try: # add duplicate, nothing bad happens yet, is […]

Каков рекомендуемый способ настройки соединения sqlalchemy для просмотра вызовов?

Я использую язык выражения sqlalchemy для его нотации и пула соединений для создания дао-объектов для связи с уровнем сохранения. Я хотел бы получить некоторые мнения о том, как я должен подходить к настройке метаданных и движка, чтобы они были доступны для вызывающих приложений. Согласно документации sqlalchemy http://docs.sqlalchemy.org/en/rel_0_7/core/connections.html , они обычно связаны и объявляются глобальными, однако […]

Pandas записывает данные в другую схему postgresql

Я пытаюсь написать pandas DataFrame в базу данных PostgreSQL, используя таблицу, соответствующую критериям схемы. Я использую следующий код: import pandas.io.sql as psql from sqlalchemy import create_engine engine = create_engine(r'postgresql://some:user@host/db') c = engine.connect() conn = c.connection df = psql.read_sql("SELECT * FROM xxx", con=conn) df.to_sql('a_schema.test', engine) conn.close() Что происходит, так это то, что панды записывают в схеме […]

Заменить / удалить поле с помощью sqlalchemy

Используя postgres в python, Как заменить все поля из того же столбца, которые соответствуют указанному значению? Например, допустим, я хочу заменить любые поля, которые соответствуют «зеленым», с «красным» в столбце «Цвет». Как удалить все поля из того же столбца, которые соответствуют указанному значению? Например, я пытаюсь удалить все поля, соответствующие «зеленому» в столбце «Цвет».

Обновление SQLAlchemy, если существует уникальный ключ

У меня есть класс: class Tag(Base, TimestampMixin): """Tags""" __tablename__ = 'tags' __table_args__ = {'mysql_engine' : 'InnoDB', 'mysql_charset' : 'utf8' } id = Column(Integer(11), autoincrement = True, primary_key = True) tag = Column(String(32), nullable = False, unique = True) cnt = Column(Integer(11), index = True, nullable = False, default = 1) def __init__(self, tag): t = […]

Как трехсторонние отношения «многие-ко-многим» в колбе-sqlalchemy

Каков надлежащий способ разработки трехсторонних «много-ко-многим» в кол-sqlalchemy? Предположим, у меня есть пользователи, команды и роли. Пользователи назначаются командам. При назначении команде пользователю также назначается роль в этой команде. from myapp import db class User(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(128), unique=True) def __init__(self, name): self.name = name def __repr__(self): return "<User(%s)>" % self.name […]

Можно ли получить sqlalchemy для создания составного первичного ключа с целочисленной частью без создания типа IDENTITY?

Я использую sqlalchemy 6.0. Диалог SQL Server T-SQL, похоже, хочет сделать любое целое, являющееся частью моего первичного ключа, в личность. Это может быть нормально, если целое поле было основным ключом, но мой составной, и это не сработает для меня. Есть ли способ подавить это поведение? Вот демонстрация проблемы: from sqlalchemy import * from sqlalchemy.schema import […]

SQLAlchemy: повторное сохранение уникального поля модели после попытки сохранить неединственное значение

В моем приложении SQLAlchemy у меня есть следующая модель: from sqlalchemy import Column, String from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import scoped_session, sessionmaker from zope.sqlalchemy import ZopeTransactionExtension DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension())) class MyModel(declarative_base()): # … label = Column(String(20), unique=True) def save(self, force=False): DBSession.add(self) if force: DBSession.flush() Позже в коде для каждого нового объекта MyModel я хочу […]

Поведение удаления с отношением

Это не проблема, я просто хочу понять. Учитывая следующий код: from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import * from sqlalchemy.orm import sessionmaker, relationship Base = declarative_base() class AB(Base): __tablename__= 'ab' id_a = Column(Integer, ForeignKey('a.id', ondelete='CASCADE'), primary_key=True) id_b = Column(Integer, ForeignKey('b.id', ondelete='CASCADE'), primary_key=True) rel = Column(Unicode) class A(Base): __tablename__ = 'a' id = Column(Integer, primary_key=True) class […]

Пирамида эквивалентна команде syncdb Django?

Я заметил в учебнике Pyramid + SQLAlchemy + URL Dispatch Wiki, что база данных инициализируется в основной функции при запуске приложения. def main(global_config, **settings): """ This function returns a WSGI application. """ engine = engine_from_config(settings, 'sqlalchemy.') initialize_sql(engine) # — and so on — где initialize_sql определяется следующим образом: def initialize_sql(engine): DBSession.configure(bind=engine) Base.metadata.bind = engine Base.metadata.create_all(engine) […]

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