тип по умолчанию для поля peewee и DateTimeField - PullRequest
0 голосов
/ 02 мая 2018

Я создал форму наследования класса модели peewee.Model

import peewee

class Example(peewee.Model):
    id = peewee.IntField(primary_key=True)
    text = peewee.charField(default="waiting")
    dt = peewee.DateTimeField(default=datetime.datetime.now().strftime('%Y-%m-%d'))

но когда я вставляю новое значение только для поля id в таблицу example, я не получаю значение по умолчанию text как "ожидание", и date_added также оказывается равным 0000-00-00 00:00:00 вместо текущего времени даты.

1 Ответ

0 голосов
/ 02 мая 2018

Поля должны быть членами класса:

class Example(peewee.Model):
    id = peewee.IntField(primary_key=True)
    text = peewee.charField(default="waiting")
    dt = peewee.DateTimeField(default=datetime.datetime.now)

Кроме того, вы хотите, чтобы значение по умолчанию вызывалось для datetime ... в противном случае он будет оценивать datetime.datetime.now () во время загрузки модуля и никогда не будет переоценивать его.

...