Как написать данный код более эффективно
Как написать данный код покороче и более эффективно и возможно ли это?
def get_price(user, building):
if type(user) == SimpleLazyObject:
if building == 'farm':
return models.Price.objects.get(user=user).farm
elif building == 'workshop':
return models.Price.objects.get(user=user).workshop
elif building == 'pharmacy':
return models.Price.objects.get(user=user).pharmacy
elif building == 'bakery':
return models.Price.objects.get(user=user).bakery
В данном случае я про код который if building == 'farm':... и после него
Ответы (1 шт):
Автор решения: Xander
→ Ссылка
Попробуйте так:
def get_price(user, building):
if type(user) == SimpleLazyObject:
return getattr(models.Price.objects.get(user=user), building)
Справка по getattr: