-
Notifications
You must be signed in to change notification settings - Fork 1
models.py
mjkweon17 edited this page Aug 22, 2023
·
2 revisions
class Book(Base):
__tablename__ = 'book'
book_id = Column(Integer, primary_key=True, nullable=False, autoincrement=True)
book_info_id = Column(Integer, ForeignKey("book_info.book_info_id"), nullable=False)
donor_name = Column(String(30))
book_status = Column(SmallInteger, nullable=False, default=0)
note = Column(String(255))
created_at = Column(TIMESTAMP, nullable=False, server_default=text("CURRENT_TIMESTAMP"))
updated_at = Column(TIMESTAMP, nullable=False, server_default=text("CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"))
valid = Column(Boolean, nullable=False, default=1)
bookinfo = relationship("BookInfo", back_populates="books")
- SQLAlchemy를 사용하여 데이터베이스 테이블인 "book"을 정의하는 파이썬 클래스
- 다른 클래스인 "BookInfo"와의 관계를 설정
- SQLAlchemy ORM을 통해 데이터베이스와 상호 작용하고 객체와 테이블 간의 매핑을 관리
- created_at: TIMESTAMP 타입으로서, 책이 생성된 시간을 나타냅니다. nullable=False로 설정되어 비어 있지 않아야 하며, server_default로 현재 시간을 기본값으로 설정합니다.
- bookinfo: "BookInfo" 클래스와의 관계를 설정합니다. 이 관계는 "BookInfo" 클래스의 "books" 속성과 매핑됩니다. "back_populates" 파라미터를 사용하여 양방향 관계를 설정하였습니다.