Есть ли опция автоматического обновления для DateTimeField в peewee, например TimeStamp в MySQL?
Я хотел бы, чтобы поле timestamp обновлялось каждый раз, когда запись была изменена, как в MySQL.
DateTimeField(default=datetime.datetime.now())
установит его только при первом создании...
У любого есть простое решение?
Единственное решение - вручную установить параметры столбца в MySQL db?
Ответы
Ответ 1
Вы можете переопределить метод save
в своем классе модели.
class Something(Model):
created = DateTimeField(default=datetime.datetime.now)
modified = DateTimeField
def save(self, *args, **kwargs):
self.modified = datetime.datetime.now()
return super(Something, self).save(*args, **kwargs)
Ответ 2
Просто используйте тип TIMESTAMP в MySQL. Это поле будет обновляться каждый раз, когда строка обновляется.
В model
:
last_updated = peewee.TimestampField()