add sqlalchemy as orm tool
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
from sqlalchemy import Boolean, Column, DateTime, ForeignKey, Integer, String
|
||||
from sqlalchemy.dialects.mysql import BIT
|
||||
from sqlalchemy.orm import relationship
|
||||
|
||||
from database.base import Base
|
||||
|
||||
|
||||
class Publisher(Base):
|
||||
__tablename__ = "publisher"
|
||||
id = Column(String, primary_key=True)
|
||||
created_date = Column(DateTime)
|
||||
last_modified_date = Column(DateTime)
|
||||
version = Column(Integer)
|
||||
name = Column(String(length=255))
|
||||
comics = relationship("Comic")
|
||||
|
||||
def __repr__(self):
|
||||
return f'Publisher({self.id} {self.name})'
|
||||
|
||||
def __str__(self):
|
||||
return self.__repr__()
|
||||
|
||||
|
||||
class Comic(Base):
|
||||
__tablename__ = 'comic'
|
||||
id = Column(String, primary_key=True)
|
||||
created_date = Column(DateTime)
|
||||
last_modified_date = Column(DateTime)
|
||||
version = Column(Integer)
|
||||
title = Column(String(length=255))
|
||||
publisher_id = Column(String, ForeignKey('publisher.id'))
|
||||
publisher = relationship("Publisher", back_populates="comics")
|
||||
current_order = Column(BIT(1))
|
||||
completed = Column(BIT(1))
|
||||
|
||||
def __repr__(self):
|
||||
return f'Comic({self.id} {self.version} {self.title} {self.publisher.name})'
|
||||
|
||||
def __str__(self):
|
||||
return f'{self.title}({self.id})'
|
||||
Reference in New Issue
Block a user