■ Session 클래스의 add 메소드를 사용해 테이블 행을 수정하는 방법을 보여준다.
※ test.db 파일의 event 테이블에 해당 데이터가 있는 것을 전제로 테스트해야 한다.
▶ 예제 코드 (PY)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
from sqlmodel import SQLModel, Session, JSON, Field, Column, create_engine from typing import List class Event(SQLModel, table = True): id : int | None = Field(default = None, primary_key = True) title : str image : str description : str location : str tagList : List[str] = Field(sa_column = Column(JSON)) databaseFilePath = "test.db" databaseURL = f"sqlite:///{databaseFilePath}" connectionArgumentDictionary = {"check_same_thread" : False} engine = create_engine(databaseURL, echo = False, connect_args = connectionArgumentDictionary) SQLModel.metadata.create_all(engine) with Session(engine) as session: event = session.get(Event, 5) print(f"변경전 : {event.id}, {event.title}") event.title = "제목 5 (수정)" session.add(event) session.commit() session.refresh(event) event = session.get(Event, 5) print(f"변경후 : {event.id}, {event.title}") """ 변경전 : 5, 제목 5 변경후 : 5, 제목 5 (수정) """ |