Skip to content
Snippets Groups Projects
model.py 837 B
import logging

from typing import Any

from sqlalchemy import Column, Integer, String
from sqlalchemy.orm import declarative_base, relationship
from sqlalchemy.schema import ForeignKey

logger = logging.getLogger(__name__)

# https://github.com/python/mypy/issues/2477
base_schema: Any = declarative_base()


class Budgets(base_schema):
    __tablename__ = 'budgets'
    id = Column(Integer, primary_key=True)
    budget = Column(String)
    year = Column(Integer)
    country_code = Column('country_code', String, ForeignKey('nrens.country_code'))
    nren = relationship('Nrens', back_populates='budgets')


class Nrens(base_schema):
    __tablename__ = 'nrens'
    id = Column(Integer, primary_key=True)
    abbreviation = Column(String)
    country_code = Column(String)
    budgets = relationship('Budgets', back_populates='nren')