Tag: sqlalchemy

sqlalchemy: выполнение raw sql с привязками параметров

Я пытаюсь запустить этот простой raw sql-оператор с параметрами с SQLALchemy (внутри скрипта alembic): from alembic import op t = {"code": "123", "description": "one two three"} op.execute("insert into field_tags (id, field_id, code, description) "+ "values (1,'zasz', :code ,:description')", t) И я получаю следующую ошибку: sqlalchemy.exc.StatementError: A value is required for bind parameter 'description' (original cause: […]

Как получить последнюю запись

Мне нужно получить последнюю запись из db. Я использую sqlalchemy. На данный момент я делаю так: obj = ObjectRes.query.all() return str(obj[-1].id) Но это слишком тяжелый запрос. Как я могу получить последнюю запись лучше?

sqlalchemy, превращая список идентификаторов в список объектов

У меня есть последовательность идентификаторов, которые я хочу получить. Это просто: session.query(Record).filter(Record.id.in_(seq)).all() Есть ли лучший способ сделать это?

коллоидная sqlalchemy, запрашивающая столбец, не равный

Я могу запросить местный стол для всех мест, где нет приглашенных: seats = Seat.query.filter_by(invite=None).all() Однако при запросе всех мест, у которых есть приглашение, я получаю ошибку: seats = Seat.query.filter_by(invite!=None).all() NameError: name 'invite' is not defined Вот мой класс Seat: class Seat(db.Model): id = db.Column(db.Integer, primary_key=True) invite_id = db.Column(db.Integer, db.ForeignKey('invite.id')) invite = db.relationship('Invite', backref=db.backref('folks', lazy='dynamic')) Как […]

В чем разница между declarative_base () и db.Model?

Учебное пособие по быстрой установке для плагина Flask-SQLAlchemy позволяет пользователям создавать модели таблиц, наследующие класс db.Model , например app = Flask(__main__) db = SQLAlchemy(app) class Users(db.Model): __tablename__ = 'users' … Тем не менее, учебник SQLAlchemy и флажок SQLAlchemy README показывают, что модели таблиц наследуют Base созданную из declarative_base() . Base = declarative_base() class Users(Base): __tablename__ […]

Есть ли средство автоматизации SQLAlchemy, например South для Django?

Есть ли средство автоматизации SQLAlchemy, например South для Django? Я посмотрел на sqlalchemy-migrate, но он, похоже, не создает сценарии обновления sql автоматически или не обновляет DB Похоже, что с sqlalchemy-migrate вам нужно: a) вручную скопировать вашу старую модель в новый файл; b) вставить новую модель в приложение и скопировать ее в новый файл; c) написать […]

Обработка ошибок в SQLAlchemy

Как вы обрабатываете ошибки в SQLAlchemy? Я относительно новичок в SQLAlchemy и пока не знаю. До того, как я использовал SQLAlchemy, я бы сделал такие вещи, как status = db.query("INSERT INTO users …") if (!status): raise Error, db.error Но теперь я кодирую в SQLAlchemy, и я делаю такие вещи, как user = User('Boda Cydo') session.add(user) […]

Работа с дублирующимися первичными ключами при вставке в SQLAlchemy (декларативный стиль)

Мое приложение использует сессионный сеанс и декларативный стиль SQLALchemy. Это веб-приложение, и многие вставки БД выполняются Celery , планировщиком задач. Как правило, при принятии решения о вставке объекта мой код может делать что-то в следующих строках: from schema import Session from schema.models import Bike pk = 123 # primary key bike = Session.query(Bike).filter_by(bike_id=pk).first() if not […]

Должен ли я создавать объекты mapper или использовать декларативный синтаксис в SQLAlchemy?

Есть два (три, но я не считаю Elixir , как его не «официальные») способы определения сохраняющегося объекта с SQLAlchemy : Явный синтаксис объектов mapper from sqlalchemy import Table, Column, Integer, String, MetaData, ForeignKey from sqlalchemy.orm import mapper metadata = MetaData() users_table = Table('users', metadata, Column('id', Integer, primary_key=True), Column('name', String), ) class User(object): def __init__(self, name): […]

Сообщение об ошибке Strange SQLAlchemy: TypeError: объект 'dict' не поддерживает индексирование

Я использую ручной SQL для получения данных из базы данных PG с использованием SqlAlchemy. Я пытаюсь выполнить запрос, который содержит SQL как оператор «%» и, похоже, передает SqlAlcjhemy через цикл: sql = """ SELECT DISTINCT u.name from user u INNER JOIN city c ON u.city_id = c.id WHERE c.designation=upper('fantasy') AND c.id IN (select id from […]

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