Запрашивая одно и то же поле для различных значений (или условий), вы можете использовать клавишу __in.
possibilities = [1,2,3]
Article.objects.filter(field__in=posibilities)
Также для динамических c запросов вы можете передать ** kwargs в метод фильтрации:
query_key = 'your_field_name__in'
Article.objects.filter(**{query_key:[1,2,3]#your search value})
Вы можете добавить поле нескольких моделей в параметр kwargs:
query = {'field_1':value_1,'field_2':value_2,'field_3__contains':value_3}#for example
Article.objects.filter(**query)