Advertisement
mutchuloko

Untitled

May 20th, 2019
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.11 KB | None | 0 0
  1. class FounderDomain(BaseDomain):
  2.     __tablename__: str = 'founder'
  3.  
  4.     cpf = Column(String, unique=True, nullable=False, index=True)
  5.     name = Column(String, unique=False, nullable=False, index=True)
  6.     surname = Column(String, unique=False, nullable=False, index=True)
  7.     age = Column(Integer, nullable=True, index=False)
  8.  
  9.     company = relationship('CompanyDomain', back_populates='founder')
  10.     leader = relationship('LeaderDomain', uselist=False, back_populates='founder')
  11.  
  12.     FIELDS = {
  13.         'id': int,
  14.         'name': str,
  15.         'surname': str,
  16.         'cpf': str,
  17.         'age': int,
  18.         'deleted': bool
  19.     }
  20.  
  21.     FIELDS.update(BaseDomain.FIELDS)
  22.  
  23. class CompanyDomain(BaseDomain):
  24.     __tablename__: str = 'company'
  25.  
  26.     company_name = Column(String, unique=True, nullable=False, index=True)
  27.     cnpj = Column(String, unique=True, nullable=False, index=True)
  28.     foundation_date = Column(DateTime, nullable=True, index=False)
  29.  
  30.     founder_id = Column('founder', Integer, ForeignKey(FounderDomain.id))
  31.     founder = relationship(FounderDomain, back_populates='company')
  32.  
  33.     FIELDS = {
  34.         'id': int,
  35.         'company_name': str,
  36.         'cnpj': str,
  37.         'foundation_date': datetime,
  38.         'founder': int,
  39.         'deleted': bool
  40.     }
  41.  
  42.     FIELDS.update(BaseDomain.FIELDS)
  43.  
  44. class LeaderDomain(BaseDomain):
  45.     __tablename__: str = 'leader'
  46.  
  47.     cpf = Column(String, unique=True, nullable=False, index=True)
  48.     name = Column(String, unique=False, nullable=False, index=True)
  49.     surname = Column(String, unique=False, nullable=False, index=False)
  50.     work_sector = Column(String, unique=False, nullable=False, index=False)
  51.     age = Column(Integer, nullable=True, index=False)
  52.  
  53.     founder_id = Column('founder', Integer, ForeignKey(FounderDomain.id))
  54.     founder = relationship(FounderDomain, back_populates='leader')
  55.  
  56.     FIELDS = {
  57.         'id': int,
  58.         'name': str,
  59.         'surname': str,
  60.         'cpf': str,
  61.         'age': int,
  62.         'work_sector': str,
  63.         'founder': int,
  64.         'deleted': bool
  65.     }
  66.  
  67.     FIELDS.update(BaseDomain.FIELDS)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement