Как реализовать поиск по полному имени, имея два раздельных поля в базе (first_name, last_name)?
from django.db.models import Q 

def find_user_by_name(query_name):
   qs = User.objects.all()
   for term in query_name.split():
     qs = qs.filter( Q(first_name__icontains = term) | Q(last_name__icontains = term))
   return qs
stackoverflow.com/questions/9009635/django-queryse...Q objects
Но вообще, если еще не поздно, я бы сделал одно поле full_name, first_name и last_name  получал бы через методы модели, а поиск через icontains и проблем бы не было.
Не знаю как для джанго, но для sql запрос я бы сделал так(нужно разбить через пробел):SELECT * FROM table
WHERE last_name = 'ФАМИЛИЯ' AND firt_name= 'ИМЯ'
или так(не нужно разбивать через пробел):SELECT * FROM table
WHERE concat(last_name, ' ', firt_name) = 'ФАМИЛИЯ ИМЯ'
а еще лучше привести к одному регистру, чтобы не выдало пустой список если где то не совпадает регистр:SELECT * FROM table
WHERE lower(concat(last_name, ' ', firt_name)) = lower('ФАМИЛИЯ ИМЯ')