大家好我试图改变for循环中的属性,例如:
user.project_0 mitarbeiter.percent_0
user.project_1 mitarbeiter.percent_1
user.project_2 mitarbeiter.percent_2
...
for x in range(10):
for mitarbeiter in user.select().where(user.project_0 == projektnummer):
# timedelta object
working_time = ((mitarbeiter.gehen_1 - mitarbeiter.kommen_1) + (mitarbeiter.gehen_2 - mitarbeiter.kommen_2))
complete_time += (working_time.seconds / 100) * mitarbeiter.percent_0
我尝试使用setattr()和type(),但我无法弄明白。 谢谢你的帮助!
答案 0 :(得分:0)
解决方法是使用getattr()并格式化字符串。
for x in range(10):
for mitarbeiter in user.select().where(getattr(user, 'project_{}'.format(x)) == projektnummer):
working_time = ((mitarbeiter.gehen_1 - mitarbeiter.kommen_1) + (mitarbeiter.gehen_2 - mitarbeiter.kommen_2))
complete_time += (working_time.seconds / 100) * getattr(mitarbeiter, 'percent_{}'.format(x))