Динамическая генерация запроса Django .filter() с различными атрибутами и типами соответствия [дубликат]

Я использую Django 1.6 и Python 2.7, и мне нужно динамически генерировать фильтр queryset.

Основное, что мне нужно, это использовать различные поля (field1, field2, field3) в фильтре и использовать различные типы соответствия (equals, startsfrom, endswith, contains).

Вот пример возможных комбинаций:

Mymodel.objects.filter(field1__strartswith=somevalue). 
# Or like this:
Mymodel.objects.filter(field2__endswith=somevalue). 
# Or like this:
Mymodel.objects.filter(field3=somevalue) 
# Or like this:
Mymodel.objects.filter(atrr3__contains=somevalue)

Я нашел этот ответ, и он выглядит хорошо, но я считаю, что есть более "Django-подобные" способы сделать это. Я также нашел этот с объектом Q. Но могу ли я как-то импортировать и передавать в набор запросов некоторые объекты этого типа соответствия?

Вернуться на верх