27 lines
862 B
Python
27 lines
862 B
Python
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()}'
|