Проверьте, существует ли строка в таблице базы данных, используя SQLAlchemy - PullRequest
0 голосов
/ 13 апреля 2020

Я изучаю SQLAlchemy и пытаюсь проверить, существует ли запись в базе данных postgreSQL, используя SQLAlchemy. Здесь много похожих вопросов, но я застрял. Вот мой запрос:

ret = session.query(exists().where(COMPANY.name == 'MyTestCompany')).scalar()

"COMPANY" - это имя таблицы, когда я ее запускаю, я получаю ошибку:

"NameError: name 'COMPANY' is not defined"

Должен ли я как-то "зарегистрировать" таблицу COMPANY как объект в текущем сеансе или проблема кроется где-то еще?

1 Ответ

1 голос
/ 13 апреля 2020

Полученная ошибка означает, что в вашем коде python не определена переменная COMPANY.

Использовали ли вы какие-либо другие функции ORM? Обычно вам нужно создать Company Model , чтобы выполнить такой запрос. Модель будет выглядеть примерно так:

class Company(Base):
    __tablename__ = 'company'
    id = Column(Integer, primary_key=True)
    name = Column(String)

Посмотрите, как они создают модель User в этом учебнике

Если вы хотите взаимодействовать с SQL напрямую без функций ORM вас может заинтересовать SQLAlchemy Core

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...