SQLite DateTime тип принимает только Python datetime - PullRequest
0 голосов
/ 05 ноября 2018

Я пытаюсь заполнить SQLAlchemy модель из словаря. Часть кода, как это.

data = dict(request.form)
c=customer(**data)
db.session.add(c)
db.session.commit() 

Все хорошо, когда форма не имеет поле даты. Однако, когда добавить поле даты и времени для формирования, не представляется возможным, чтобы заполнить модель. Я получаю сообщение об ошибке.

Тип SQLite DateTime принимает только Python DateTime и даты объектов в качестве входных данных. [SQL: 'INSERT INTO клиента (first_name, last_name, register_date) ЗНАЧЕНИЯ (,??)'] [Параметры: [{ 'first_name': [ 'Йон'], 'register_date': [ '2010-01-01 '], 'last_name': [' снег ']}]]

class customer(db.Model):
first_name = db.Column(db.String(200))
last_name= db.Column(db.String(200))
register_date=db.Column(db.DateTime)

Как я могу это исправить?

1 Ответ

0 голосов
/ 06 ноября 2018

Похоже, register_date - это строка в вашем коде. Вам нужно преобразовать строку в объект datetime или date перед вызовом c=customer(**data).

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