from .base import AttributeGetter class One2OneValue(AttributeGetter): mandatory = ['db_column', 'db_table', 'join'] def __init__(self, db_column=None, db_table=None, join=None, raise_not_found_error=True, *args, **kwargs): self.db_column = db_column self.db_table = db_table self.join = join self.raise_not_found_error = raise_not_found_error super().__init__(*args, **kwargs) def get_where(self): filters = ' AND '.join([f'{f[1]} = ?' for f in self.join]) return f'WHERE \n {filters}' def get_select(self): return f'SELECT \n {self.db_column}' def get_from(self): # noinspection SpellCheckingInspection return f'FROM {self.db_table} (NOLOCK)' def get_query(self): return f'{self.get_select()} \n{self.get_from()} \n{self.get_where()}'