da ich gerade in Python SQL Querys mit variablen attributen zusammenschustere, und
das selbst für mich sehr unpythonisch aussieht wollte ich fragen, ob von euch
da vielleicht was schöneres kennt?
ich habe zum Beispiel folgende Liste
Code: Alles auswählen
selectFields = [(id),(name),(typ)...]
Das Problem ist hier bekanntlich das Komma (bzw. and, or), ansonsten würde das "schön" über eine iterationsliste gehen.select id, name, typ, ....
Bei einer map wie
Code: Alles auswählen
whereMap = [typ:defect, prio:high....]
Anbei ein Auszug aus meinem Code
Code: Alles auswählen
def performce_Report_Query(self,selectFields, whereFields, orderFields):
query = "select "
....
if (len(whereFields) > 0):
query = "%s where "%query
andSwitch = 0;
for key in whereFields.iter():
if (andSwitch == 0):
andSwitch = 1
query = "%s %s = '%s'"%(query,key[0],whereFields.get(key)[0])
else:
query = "%s and %s = '%s'"%(query,key[0],whereFields.get(key)[0])
....
return __execute_SQL_Query_and_Feedback(self,True, query)
Schonmal vielen dank
Grüße