Вы можете обернуть элементы в Q
объектах и «сложить» их логическим или:
from django.db.models import <b>Q</b>
Profiles = Profile.object.filter(<b>Q(</b>**filter_kwargs<b>, _connector=Q.OR)</b>)
Однако, похоже, что первые элементы должны рассматриваться как AND, вы можете сделать этодобавив их на уровне фильтра (не на уровне Q
):
filter_kwargs = {}
if search_text:
filter_kwargs['user__first_name__icontains'] = search_text
filter_kwargs['user__last_name__icontains'] = search_text
filter_kwargs['user__email__icontains'] = search_text
Profiles = Profile.object.filter(
Q(**filter_kwargs, _connector=Q.OR),
is_active=True,
is_admin=False
)