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: InvalidRequestError: A value is required for bind parameter 'description') "insert into field_tags (id, field_id, code, description) values (1, 'math', %(code)s ,%(description)s)" [] 

Решение:

 t = {"code": "123", "description": "one two three"} from sqlalchemy.sql import text op.get_bind().execute(text("insert into field_tags (id, field_id, code, description) "+ "values (1,'zasz', :code ,:description')"), **t) 

One Solution collect form web for “sqlalchemy: выполнение raw sql с привязками параметров”

Вам нужно получить объект connection , вызвать execute() и передать параметры запроса в качестве аргументов ключевого слова:

 from alembic import op from sqlalchemy.sql import text conn = op.get_bind() conn.execute(text("""insert into field_tags (id, field_id, code, description) values (1, 'zasz', :code , :description')"""), **t) 

Также см .: Как выполнить необработанный SQL в приложении SQLAlchemy-flask .

  • Как использовать предложение USING в Alembic / SQLAchemy?
  • Использование API Alembic из внутреннего кода приложения
  • sqlalchemy: alembic bulk insert failed: объект 'str' не имеет атрибута '_autoincrement_column'
  • Alembic автоматически генерирует миграцию Flask-SQLAlchemy
  • Alembic: Как перенести пользовательский тип в модель?
  • Изменение поля Enum с использованием Alembic
  • Как выполнять вставки и обновления в сценарии обновления Alembic?
  • Flask-SQLAlchemy Lower Case Index - пропуск функциональности, не поддерживаемый отражением SQLAlchemy
  •  
    Interesting Posts for Van-Lav

    Сгладить список списков

    Как передать поля модели объекту JsonResponse

    Выражение запроса Django для вычисленных полей, которые требуют условий и литья

    Как возобновить загрузку файла в Python?

    Могу ли я получить рекомендации по фильму IMDb для данного фильма, используя IMDbPY?

    Как определить символ Юникода из его имени в Python, даже если этот символ является управляющим символом?

    Создание метода private в подклассе python

    Cython скомпилировал расширение C: ImportError: динамический модуль не определяет функцию init

    Печать на Python без запятых

    Любой метод для обозначения назначения объекта?

    Как получить компоненты для LDA в scikit-learn?

    python торнадо отправлять сообщения всем соединениям

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

    Как указать, что на самом деле происходит, когда нажата кнопка «Да / Нет» с помощью ctypes MessageBoxW?

    упаковка общих пространств имен python

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