Guest User

Untitled

a guest
Feb 18th, 2018
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. class Account(Base):
  2.  
  3. __tablename__ = 'account'
  4.  
  5.  
  6. account_id = Column(Integer, primary_key=True)
  7. username = Column(String(256), index=True)
  8. password = Column(String(256))
  9. status = Column(String(64)) # locked / needs activation / active etc..
  10. address_id = Column(Integer, ForeignKey('address.address_id'))
  11. created_on = Column(TIMESTAMP, server_default=func.now())
  12.  
  13. account_address = association_proxy('account_address', 'address',
  14. creator=lambda address: AccountAddress(address=address)
  15.  
  16.  
  17. class AccountAddress(Base):
  18. """ `AccountAddress` links an `Account` to an `Address`. """
  19. __tablename__ = 'account_address'
  20.  
  21. account_id = Column(Integer, ForeignKey('account.account_id'), primary_key=True)
  22. address_id = Column(Integer, ForeignKey('address.address_id'), primary_key=True)
  23.  
  24. address = relation('Address')
  25. account = relation('Account', backref=backref('account_address'))
  26.  
  27.  
  28. class Address(Base):
  29. """ `Address` holds contact information for payments and accounts. """
  30. __tablename__ = 'address'
  31.  
  32. address_id = Column(Integer, primary_key=True)
  33. firstname = Column(String(256))
  34. lastname = Column(String(256))
  35. email = Column(String(256))
  36. address1 = Column(String(256))
  37. address2 = Column(String(256))
  38. zipcode = Column(String(16))
  39. company = Column(String(256))
  40. telephone = Column(String(256))
  41. mobile = Column(String(256))
  42.  
  43. created_on = Column(TIMESTAMP, server_default=func.now())
  44. account_address = relation('Account', secondary=AccountAddress, backref='address')
Add Comment
Please, Sign In to add comment