Tag: sqlalchemy

Вложенный SELECT с использованием sqlalchemy

Я хотел бы создать запрос с вложенным SELECT, используя sqlalchemy, но я не могу получить ожидаемый результат. Я, конечно, упростил следующий запрос, поэтому для этого сообщения будет легко понятным. Вот запрос, который я хотел бы построить: SELECT pear_table.size, (SELECT MIN(apple.apple_date) FROM apple WHERE apple_id = pear_table.pear_id ) apple_min, (SELECT max(lemon.lemon_date) FROM lemon WHERE lemon_id = […]

Как создать пользователя «программно» с расширением Flask-user?

У меня это расширение используется в моем проекте: https://pythonhosted.org/Flask-User/index.html У меня также есть REST API и функция register (), которая принимает JSON-объект и должна иметь возможность создать нового пользователя. Как я могу достичь этого с помощью API-интерфейса Flask ? UPDATE: У меня есть полностью созданная модель User. В принципе мне нужен какой-то конструктор User (), […]

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

Все, у меня возникла проблема с (удивительно тривиальным) запросом SQLA; Цель состоит в том, чтобы вернуть запись с максимальным значением в столбец счетчика: это отлично работает – возвращает правильную запись: m=12 # arbitrary example of a max value of counter = 12 qry = session.query(Data). filter(Data.user_id == user_id,Data.counter == m) Код ниже не работает – […]

Для запроса SQLAlchemy, как совместить поисковый оператор ilike с оператором in_?

Я пишу код SQLAlchemy, который принимает входную строку поиска и запускает запрос к моей базе данных PostgreSQL. Чтобы допускать орфографические ошибки и названия фрагментов, у меня был этот код, который сделал трюк: q = session.query(Detail).filter((Detail.sellers.ilike("%%%s%%" % (name_input)))).all() Теперь я пытаюсь сделать то же самое, но проверять names списков, которые имеют несколько входных значений. Я сделал […]

Рекурсивно выберите (с ограниченной глубиной) отношения в SQLAlchemy, используя ORM, декларативный стиль и объекты ассоциации

Данный: DIRECTIONS = db.Enum('N', 'NE', 'E', 'SE', 'S', 'SW', 'W', 'NW', name='directions') class Exit(BaseModel): __tablename__ = 'exits' src = db.Column(db.Integer, db.ForeignKey('room.id'), primary_key=True) dst = db.Column(db.Integer, db.ForeignKey('room.id'), primary_key=True) direction = db.Column(DIRECTIONS, primary_key=True) from_room = db.relationship('Room', foreign_keys=[dst], backref=db.backref('exits', lazy='dynamic')) to_room = db.relationship('Room', foreign_keys=[src])) С помощью: SqlAlchemy 0.9.8, PostgreSQL 9.3.5 Как выполнить запрос для рекурсивного выбора выходов на […]

SQLAlchemy не устанавливает первичный ключ из автоматического приращения после фиксации

Я использую SQLAlchemy для подключения к базе данных postgresql. Я определил, что мои столбцы первичного ключа в postgresql имеют тип serial т.е. auto-increment integer, и пометили их в моей модели SQLAlchemy с primary_key=true . При выполнении сеанса SQLAlchemy модель сохраняется в db, и я вижу первичный ключ, установленный в базе данных, но свойство id в […]

Пирамида с SQLAlchemy: сеанс базы данных с областью действия или не областью

Для более старых версий пирамиды установка для сеанса sqlalchemy была выполнена с scooped_session, подобным этому DBSession = scoped_session( sessionmaker( autoflush=True, expire_on_commit=False, extension=zope.sqlalchemy.ZopeTransactionExtension() ) Однако я вижу, что новые учебные пособия, а также пирамидальные документы «продвигают» sqlalchemy без threadlocals, где DBSession прикрепляется к объекту запроса. Является ли «старый» способ нарушенным, и в чем преимущество нет threadlocals?

Ошибка создания таблицы с ограничениями внешнего ключа с помощью SQLAlchemy-Migrate

Я создаю приложение на python. Я использую sqlalchemy–migrate для отслеживания моей схемы базы данных. У меня есть таблица user_category, которая имеет два столбца: id и name. Я пытаюсь создать таблицу пользователя с внешним ключом в таблице user_category. Мой скрипт изменения для создания таблицы пользователя выглядит следующим образом: from sqlalchemy import * from migrate import * […]

Не требуется не-NULL-поле (разрешить пустые строки) в FormAlchemy

Я довольно новичок в FormAlchemy, и кажется, что я ничего не получаю. У меня есть модель SQLAlchemy, определенная следующим образом: … class Device(meta.Base): __tablename__ = 'devices' id = sa.Column('id_device', sa.types.Integer, primary_key=True) serial_number = sa.Column('sn', sa.types.Unicode(length=20), nullable=False) mac = sa.Column('mac', sa.types.Unicode(length=12), nullable=False) ipv4 = sa.Column('ip', sa.types.Unicode(length=15), nullable=False) type_id = sa.Column('type_id', sa.types.Integer, sa.schema.ForeignKey('device_types.id')) type = orm.relation(DeviceType, primaryjoin=type_id […]

Sqlalchemy session.rollback от IntegrityError заставляет queuepool работать с обработчиками?

У меня есть следующая таблица: class Feedback(Base): __tablename__ = 'feedbacks' __table_args__ = (UniqueConstraint('user_id', 'look_id'),) id = Column(Integer, primary_key=True) user_id = Column(Integer, ForeignKey('users.id'), nullable=False) look_id = Column(Integer, ForeignKey('looks.id'), nullable=False) В настоящее время я вставляю много записей в эту таблицу, которые будут нарушать этот UniqueConstraint. Я использую следующий код: for comment in session.query(Comment).filter(Comment.type == Comment.TYPE_LOOK).yield_per(100): feedback = […]

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