Это как-то такой же ответ, который я дал здесь .Вы также можете использовать getattr
, но теперь с самим объектом модуля.Это либо __module__
, если это тот же модуль, либо модуль, который вы import
изд.
target_filter = 'Class'
search_result = AAA.objects.filter(getattr(__module__, target_filter) = '3').count()
РЕДАКТИРОВАТЬ: Я понял, это неможно получить доступ к текущему модулю через __module__
.Если класс объявлен в том же модуле, что и ваш поиск, вы можете использовать globals()[target_filter]
для доступа к нему.Если ваш поиск из другого модуля, вы можете сделать это следующим образом:
import somemodule
...
target_filter = 'Class'
search_result = AAA.objects.filter(getattr(somemodule, target_filter) = '3').count()