created_at과 updated_at을 ORM 차원에서 처리하기
앞서 살펴본 created_at과 updated_at을 ORM 차원에서 처리하도록 하겠습니다.
파이썬(/appserver/apps/account/models.py)
from datetime import datetime, timezone
from sqlmodel import SQLModel, Field, Relationship, func
from pydantic import EmailStr
from sqlalchemy import UniqueConstraint
class User(SQLModel, table=True):
__tablename__ = "users"
# 생략
# created_at과 updated_at 코드 수정
created_at: datetime = Field(
default=None,
nullable=False,
sa_column_kwargs={ # ①
"server_default": func.now(),
},
)
updated_at: datetime = Field(
default=None,
nullable=False,
sa_column_kwargs={
"server_default": func.now(),
"onupdate": datetime.now,
},
)