Source code for MambuPy.orm.schema_addresses

"""Schema tables for Mambu Addresses.

.. autosummary::
   :nosignatures:
   :toctree: _autosummary
"""

from sqlalchemy import Column, DateTime, ForeignKey, Integer, Numeric, String
from sqlalchemy.orm import relationship

from . import schema_orm as orm

dbname = orm.dbname
session = orm.session
Base = orm.Base


[docs]class Address(Base): """Adress table.""" __tablename__ = "address" __table_args__ = {"schema": dbname, "keep_existing": True} # Columns encodedKey = Column(String, primary_key=True) parentKey = Column(String) # redundant with same-as-RESTAPI-case city = Column(String) country = Column(String) line1 = Column(String) line2 = Column(String) postcode = Column(String) region = Column(String) client = relationship( "Client", back_populates="addresses", foreign_keys="Address.parentKey", primaryjoin="Address.parentKey == Client.encodedKey", ) branch = relationship( "Branch", back_populates="addresses", foreign_keys="Address.parentKey", primaryjoin="Address.parentKey == Branch.encodedKey", ) group = relationship( "Group", back_populates="addresses", foreign_keys="Address.parentKey", primaryjoin="Address.parentKey == Group.encodedKey", ) @property def address(self): return "{}, {}, {}, {}, {}, {}".format( self.line1, self.line2, self.region, self.city, self.country, self.postcode )
[docs] def __repr__(self): return "<Address(address={})>".format(self.address)