Как работает ключевое слово класса модели по умолчанию в sqlalchemy - PullRequest
0 голосов
/ 19 октября 2018

Я установил сопоставление для столбца в классе модели как

class Plan(Base):
    __tablename__ = "plans"
    `default_c = Column(Boolean, default=False)`

Но когда я вставляю данные в эту таблицу, используя.код ниже.Я все еще получаю (exceptions.TypeError) Not a boolean value: ''.У меня default_c пустое поле в моем словаре.Мне было интересно, должен ли default обработать это.

conn.execute(Plan.__table__.insert(), Plan_dict) 

Plan_dict - это мой список словарей, которые я хочу вставить в таблицу планов.

1 Ответ

0 голосов
/ 19 октября 2018

В соответствии с документацией , если вы не предоставите столбец, он заполнит значение по умолчанию

Скалярное выражение, выражение на Python или выражение ColumnElement, представляющее значение по умолчанию дляэтот столбец, который будет вызываться при вставке, если этот столбец не указан в предложении VALUES вставки.Это ярлык для использования ColumnDefault в качестве позиционного аргумента;см. этот класс для более подробной информации о структуре аргумента.

Я чувствую, что вы даете default_c пустое значение.Снимите default_c с вашего Plan_dict и попробуйте.

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