dati2.py 865 Bytes
from tangsel.tools.pbb import FixDati2
from sqlalchemy import (
    Column, String, ForeignKeyConstraint,
)

from ..models import PbbmBase, PBBM_ARGS, CommonModel, PbbmDBSession
from ..models import Propinsi


class Dati2(PbbmBase, CommonModel):
    __tablename__ = 'ref_dati2'
    kd_propinsi = Column(String(2), primary_key=True)
    kd_dati2 = Column(String(2), primary_key=True)
    nm_dati2 = Column(String(30))
    __table_args__ = (
        ForeignKeyConstraint([kd_propinsi], [Propinsi.kd_propinsi]),
        PBBM_ARGS)

    @classmethod
    def query(cls):
        return PbbmDBSession.query(cls)

    @classmethod
    def query_id(cls, id):
        fx_kode = FixDati2(id)
        return cls.query(). \
            filter_by(
            kd_propinsi=fx_kode['kd_propinsi'],
            kd_dati2=fx_kode['kd_dati2'],
        )