onupdate는 ORM의 객체 데이터가 갱신될 때 호출될 파이썬 객체를 받습니다.
파이썬 예시 코드
updated_at: datetime = Field(
default=None,
nullable=False,
sa_column_kwargs = {
"server_default": func.now(),
"onupdate": datetime.now,
},
)
주의할 점은 ORM 객체 데이터 갱신은 데이터베이스에서 처리하는 것이 아니라 ORM층에서 처리한다는 것입니다. 그래서 created_at이 server_default 인자로 데이터베이스를 처리하도록 테이블을 생성하는 것과 달리, updated_at은 ORM에서 데이터가 갱신할 때 지정한 호출 가능한 객체인 함수나 메서드를 인자 자체로 받습니다.