Python 3.x 演说家ORM&x27的例子;s模型日期时间功能,包括创建日期、更新日期和删除日期?

Python 3.x 演说家ORM&x27的例子;s模型日期时间功能,包括创建日期、更新日期和删除日期?,python-3.x,orm,datamodel,Python 3.x,Orm,Datamodel,当Orator即将发布1.0版时,一些示例将介绍如何在表定义上使用created_at、updated_at、deleted_at审计时间戳字段 我对向ORM模型中添加datetime功能感兴趣,以便记录具有以下行为: 插入时:created_at字段包含当前日期时间、updated_at、deleted_at保持为空 更新时:更新时字段包含当前日期时间,覆盖以前的任何值,创建时、删除时保持不变 删除时:删除时字段包含当前日期时间、创建时、更新时保持不变 下面的示例不起作用。具体而言,更新的

当Orator即将发布1.0版时,一些示例将介绍如何在表定义上使用created_at、updated_at、deleted_at审计时间戳字段

我对向ORM模型中添加datetime功能感兴趣,以便记录具有以下行为:

  • 插入时:created_at字段包含当前日期时间、updated_at、deleted_at保持为空
  • 更新时:更新时字段包含当前日期时间,覆盖以前的任何值,创建时、删除时保持不变
  • 删除时:删除时字段包含当前日期时间、创建时、更新时保持不变
下面的示例不起作用。具体而言,更新的_at字段是在创建记录时填充的,并且应该在第一次更新操作(不是在插入时)之前填充


看来演说家正在被保留,但不再积极发展。演说家将继续生活在马索尼派的框架中。
   class Example(SoftDeletes, Model):
       __dates__ = ['created_at', 'updated_at', 'deleted_at']
       __fillable__ = ["name", "protocol_operational", "protocol_engagement", "transmitting_hours", "is_operational", "is_track_and_trace", "prism_authorized", "un_m49"]


   class CreateTables(Migration):
    
       transactional = False
    
       def up(self):
           """
           Run the migrations.
           """
           with DB.transaction():
               with Schema.create("examples") as table:
                   table.increments('id')
                   table.char("name",120).unique()
                   table.integer("protocol_operational").default('FRINGE')
                   table.integer("protocol_engagement").default('TRANSGRESSOR')
                   table.integer("transmitting_hours").default(24)
                   table.boolean("is_operational").default(False)
                   table.boolean("is_track_and_trace").default(True)
                   table.boolean("prism_authorized").default(True)
                   table.char("un_m49",3).default('003')
                   table.timestamps(['created_at', 'updated_at'])
                   table.soft_deletes()
    
       def down(self):
           """
           Rollback the migrations.
           """
           pass