Wpis z mikrobloga

Mam pewną zagwozdkę z filtrowaniem danych które pobieram z bazy za pomocą sqlalchemy. Mam zbudowany model tabeli, jestem w stanie wyciągnąć dane z bazy. Jednak problem pojawia się wtedy kiedy dla niektórych tabel musze pobrać dane z jakaś flagą np. TRACKFLAG = "X".

Niestety każda tabela ma inny filtr. Normalnie bym wykonał query lambda.

queryfilter = lambda query: query.where(NAZWATABELI.NAZWAKOLUMNY == 'X')

Jako że mam kilka/kilkanaście różnych warunków dla róznych tabel chce wykonać słownik gdzie będę nazwę tabeli i filtr np:
filtr
dict = { 'nazwatabeli': query.where(NAZWATABELI.NAZWAKOLUMNY == 'X')
'nazwatabeli2' ; query.where(NAZWATABELI2.NAZWAKOLUMNY == 'A')
}.

Czego mi brakuje, brakuje mi tego aby to co jest w słowniku w 'value' wstawić tutaj (to co pogrubione):
query_filter = lambda query: query.where(NAZWATABELI.NAZWAKOLUMNY == 'X')

#sqlalchemy #python
#programowanie
  • 1