이때 TYPE_CHECKING을 사용합니다.
파이썬 예시 코드
if TYPE_CHECKING:
print("푸딩캠프")
이 코드는 파이썬이 자료형 검사를 할 때만 실행되며, 실제 동작할 때(runtime)는 주석처럼 무시됩니다. 앞 코드를 다시 보면 다음과 같습니다.
class User(SQLModel, table=True):
__tablename__ = "users"
# 생략
calendar: "Calendar" = Relationship(
back_populates="host",
sa_relationship_kwargs={"uselist": False, "single_parent": True},
)