Можно ли создать столбец в SQLAlchemy, который будет автоматически заполняться временем, когда он вставлялся/обновлялся в последний раз?
Я создал модели, унаследованные от базового класса
class Base(object):
def __tablename__(self):
return self.__name__.lower()
id = Column(Integer, primary_key=True)
last_time = Column(TIMESTAMP, server_default=func.now())
Base = declarative_base(cls=Base)
class EntityModel(Base):
__tablename__ = 'entities'
settlement_id = Column(Integer, ForeignKey('settlements.id'), nullable=False)
type = Column(String(20), nullable=False)
level = Column(Integer, nullable=False, default=0)
energy = Column(Float, nullable=False, default=0)
position_x = Column(Integer, default=0)
position_y = Column(Integer, default=0)
def __repr__(self):
return "<Entity('%s')>" % (self.type)
Каждый раз, когда я обновляю EntityModel, я хочу, чтобы last_time
обновлялся на system function.now()
. Я могу сделать это на уровне базы данных с помощью триггеров, но я бы предпочел сделать это на уровне приложения, если это возможно.