Подтвердить что ты не робот

Вызов фильтра с переменной для имени поля

Есть ли способ вызвать фильтр в наборе запросов, где одно из имен полей является переменной?

Например, у меня есть что-то вроде:

models.py

class Playlist(models.Model):
    video = ...

views.py

field_name = 'video'
Playlist.objects.filter(field_name=v)

Что, конечно, приводит к ошибке, что field_name не является атрибутом, по которому можно фильтровать Playlist.

4b9b3361

Ответ 1

Playlist.objects.filter(**{field_name: v})

Ответ 2

Использовать строку имени поля с icontains.

Попробуйте это

field_name = 'video'
field_name_icontains = field_name + '__icontains'
Playlist.objects.filter(**{field_name: v})