Как мне передать поле для фильтрации модели Django?

#python #django #string #model #filter

#python #django #строка #Модель #Фильтр

Вопрос:

У меня есть функция, которая принимает два параметра: filter_field и filter_value. Я хочу отфильтровать свою модель следующим образом:

 Alert.objects.filter(filter_field=filter_value)
  

Однако я получаю следующую ошибку:

 Cannot resolve keyword 'filter_field' into field. Choices are ...
  

Есть ли способ передать строку, которая хранится в filter_field, а не буквальную строку ‘filter_field’?

Ответ №1:

Вы можете передать аргументы ключевого слова для фильтрации:

 kwargs = {filter_field: filter_value}
Alert.objects.filter(**kwargs)