Tag: sqlalchemy

Каков хороший общий способ просмотра транзакций SQLAlchemy, в комплекте с аутентифицированным пользователем и т. Д.?

Я использую декларативное расширение SQLAlchemy. Я бы хотел, чтобы все изменения в журналах таблиц, включая изменения во многих отношениях (таблицы сопоставления). Каждая таблица должна иметь отдельную таблицу «журнала» с аналогичной схемой, но дополнительные столбцы, указывающие, когда было произведено изменение, кто внес изменения и т. Д. Моя модель программирования будет примерно такой: row.foo = 1 row.log_version(username, […]

KeyError при добавлении объектов в объект ассоциации SQLAlchemy

У меня есть две таблицы, tablet и correspondent : class Correspondent(db.Model, GlyphMixin): # PK column and tablename etc. come from the mixin name = db.Column(db.String(100), nullable=False, unique=True) # association proxy tablets = association_proxy('correspondent_tablets', 'tablet') def __init__(self, name, tablets=None): self.name = name if tablets: self.tablets = tablets class Tablet(db.Model, GlyphMixin): # PK column and tablename etc. […]

Суммировать поля в sqlAlchemy

Недавно я обновился до самой последней версии sqlalchemy, а некоторые из моего кода больше не работают. Мне трудно найти, как исправить это и использовать руку. Раньше запрос выглядел так. self.db.query(Drive).filter(Drive.package_id==package.package_id)\ .filter(Drive.wipe_end!=None).sum(Drive.wipe_end – Drive.wipe_start) это работало до того, чтобы получить сумму некоторых длительностей, но теперь я получаю следующую ошибку: 'Query' object has no attribute 'sum' Любой […]

mysql Compress () с sqlalchemy

таблица : id (целочисленный первичный ключ) данные (blob) Я использую mysql и sqlalchemy. Для ввода данных я использую: o = Demo() o.data = mydata session.add(o) session.commit() Я хотел бы вставить в таблицу: INSERT INTO table(data) VALUES(COMPRESS(mydata)) Как это сделать, используя sqlalchemy?

Удаление строки с помощью Flask-SQLAlchemy

Я пытаюсь сделать функцию для удаления записи в моей базе данных с флягой и расширением для SQLAlchemy. Проблема заключается в том, что вместо удаления только одной строки она удаляет все из них. Может кто-нибудь сказать мне, что случилось с моим кодом? @app.route('/admin/delete/<int:page_id>', methods=['GET','POST']) @requires_auth def delete_page(page_id): page = Page.query.get(page_id) if not page: abort(404) if page.children: […]

Подсчитайте количество строк в соединении «многие-ко-многим» (SQLAlchemy)

У меня есть отношение «многие ко многим» между словами блога и тегами. Теперь я хочу знать, сколько записей имеет определенный тег. Представьте себе следующие модели (упрощенные): rel_entries_tags = Table('rel_entries_tags', Base.metadata, Column('entry_id', Integer, ForeignKey('entries.id')), Column('tag_id', Integer, ForeignKey('tags.id')) ) class Entry(Base): __tablename__ = 'entries' id = Column(Integer, primary_key=True) title = Column(String(80)) text = Column(Text) tags = relationship('Tag', […]

Как исключить определенные поля для сериализации с помощью jsonpickle?

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

SQLAlchemy introspect тип столбца с наследованием

Учитывая этот код (и используя SQLAlchemy 0.7.7): class Document(Base): __tablename__ = 'document' __table_args__ = { 'schema': 'app' } id = Column(types.Integer, primary_key=True) nom = Column(types.Unicode(256), nullable=False) date = Column(types.Date()) type_document = Column(types.Enum('arrete', 'photographie', name='TYPES_DOCUMENT_ENUM')) __mapper_args__ = {'polymorphic_on': type_document} class Arrete(Document): __tablename__ = 'arrete' __table_args__ = { 'schema': 'app' } __mapper_args__ = {'polymorphic_identity': 'arrete'} id = […]

Как запросить для всех групп типа 'foo', которые содержат user_x? (таблица «многие-ко-многим»)

Учитывая следующие таблицы ниже, как я могу запросить для всех групп grouptype 'foo' для user_x ? Эквивалентный SQL будет примерно таким: SELECT * FROM users_to_groups LEFT JOIN users ON user_id=users.id LEFT JOIN groups ON group_id=groups.id WHERE groups.type='type1' AND user_id=1; Я думал, что запрос SQLAlchemy будет выглядеть примерно так: session.query(UserGroup).filter(UserGroup.user==user_x, UserGroup.group.grouptype=='foo') но я не знаю, как […]

Как настроить таблицу с рекурсивным внешним ключом и отношения декларативно в SQLAlchemy?

Предположим, что у меня есть таблица «узлы», где я храню дерево. Каждый узел имеет идентификатор первичного ключа и столбец parent_id. Конечно, я хочу получить доступ к родительскому атрибуту каждого экземпляра узла, т. Е. Отношения. Можно попробовать: import sqlalchemy, sqlalchemy.orm, sqlalchemy.ext.declarative engine = sqlalchemy.create_engine('sqlite:///PATHTOMYDATABASE', echo=True) Base = sqlalchemy.ext.declarative.declarative_base() class Node(Base): __tablename__ = "nodes" id = sqlalchemy.Column(sqlalchemy.Integer, […]

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