Как использовать переменную в методе с двойным подчеркиванием в python / django
Я использую фреймворк django для создания сайта, где мне нужно сделать некоторую фильтрацию на моей базе данных. Я создал функцию, в которой можно фильтровать по любому полю в базе данных. Мне нужно использовать метод __gte
для поиска всех записей, которые больше или равны определенному полю. Я передаю нужное поле как attribute
внутри моей функции.
Как я могу найти все записи, которые больше или равны любому полю, которое я передаю в мою функцию?
def top_percentiles(attribute, web_name, player_id):
#filters to find desired player e.g Ronaldo
searched_player = PlayerInfo.objects.filter(web_name=web_name, id=player_id)
#gets the value of the desired attribute e.g price = 10.0
players_attribute = getattr(searched_player[0], attribute)
#filters for all the players with a greater value e.g 10.5, 11.0
players_with_greater_attribute = PlayerInfo.objects.filter(attribure__gte=players_attribute)
Сообщение об ошибке:
Cannot resolve keyword 'attribute' into field. Choices are: assists, bonus, bps...