我想日期时间存储在peewee.DateTimeField(),我用在该领域为默认datetime.datetime.now(),但它不能正常工作

问题描述 投票:1回答:1

此代码不能工作,并给JSON序列化的错误

  class Bank(peewee.Model): // create Bank table
        bank_id     = peewee.PrimaryKeyField()
        bank_name   = peewee.CharField()
        account_no  = peewee.CharField()
        ifc_code    = peewee.CharField()
        swift_code  = peewee.CharField(null = True)
        modify_date = peewee.DateTimeField(default=datetime.datetime.now(),formats=['%Y-%m-%d'])/*date in yyyy-mm-dd formate*/
        status      = peewee.IntegerField(default = 0)

        class Meta:
            database = db
python datetime peewee
1个回答
4
投票

您所提供的默认日期是不是一个DateTime对象。相反,它是一个字符串!

modify_date = peewee.DateTimeField(default=datetime.datetime.now().strftime('%Y-%m-%d'))

type(datetime.datetime.now().strftime('%Y-%m-%d')) - > str

你可以通过默认的当前日期时间对象是这样的:

date = datetime.datetime.now().strftime('%Y-%m-%d')
need_date = datetime.strptime(date, '%Y-%m-%d')

modify_date = peewee.DateTimeField(default=need_date)
© www.soinside.com 2019 - 2024. All rights reserved.