Django, как сделать простой поиск по атрибутам?
У вас неправильный код. Есть же отличная родная документация по Django, куча дополнительных материалов, книг. Зачем методом проб и ошибок делать?
Правильно писать: OurFoto.objects.filter(Q(name__startswith=query) | Q(text__startswith=query) | 
Q(date_added__startswith=query))
При этом в коде еще есть несколько проблем:непонятно, зачем здесь ловить исключение KeyError, если изучить Python, то можно написать более простой и понятный код типа request.GET.get('query') или if 'query' in request.GETлучше переходить уже на Class Based Views и Generic Views - код будет проще и не надо будет переписывать в следующих версиях Django (функции-view уже вроде как deprecated)
https://docs.djangoproject.com/en/1.11/topics/db/q...
Для запросов с оператором OR надо использовать Q object.from django.db.models import Q


posts = OurFoto.objects.filter(
    Q(name__startswith=query) | Q(text__startswith=query) | Q(date_added__startswith=query)
)