Guest User

Untitled

a guest
Jul 22nd, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. address_table = sa.Table('address', metadata,
  2. sa.Column('addr_id', sa_types.Integer, primary_key=True),
  3. sa.Column('text', sa_types.Unicode),
  4. sa.Column('created', sa_types.DateTime, default=datetime.now),
  5. sa.Column('updated', sa_types.DateTime, default=datetime.now, onupdate=datetime.now),
  6. )
  7.  
  8. class Address(object):
  9. def __init__(self, text=None, addr_id=None):
  10. self.text = text
  11. self.addr_id = addr_id
  12.  
  13. address_mapper = orm.mapper(Address, address_table)
  14.  
  15. class Person(DBObject):
  16. __tablename__ = 'person'
  17. #_primary_key_name = 'person_id'
  18.  
  19. _shoji_attr_blacklist_ = {
  20. 'body': ['ptype', 'baddr_id', 'maddr_id'],
  21. 'catalogs': ['billing_address_record', 'mailing_address_record']
  22. }
  23.  
  24. person_id = sa.Column(sa_types.Integer, primary_key=True)
  25. ptype = sa.Column(sa_types.String(10), nullable=False)
  26. fname = sa.Column(sa_types.Unicode(63))
  27. lname = sa.Column(sa_types.Unicode(63))
  28. mi = sa.Column(sa_types.Unicode(5))
  29. dname = sa.Column(sa_types.Unicode(255)) #Display name
  30. maddr_id = sa.Column(sa_types.Integer, sa.ForeignKey('address.addr_id'))
  31. baddr_id = sa.Column(sa_types.Integer, sa.ForeignKey('address.addr_id'))
  32. created = sa.Column(sa_types.DateTime, default=datetime.now)
  33. updated = sa.Column(sa_types.DateTime, default=datetime.now, onupdate=datetime.now)
  34.  
  35. #....
  36.  
  37. # Has to show up below the definition of ptype
  38. __mapper_args__ = {
  39. 'polymorphic_on': ptype,
  40. 'polymorphic_identity': 'Person'
  41. }
  42.  
  43. # association proxies
  44. mailing_address = association_proxy('mailing_address_record', 'text')
  45. billing_address = association_proxy('billing_address_record', 'text')
Add Comment
Please, Sign In to add comment