diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml index 105ce2da2..dd4c951ef 100644 --- a/.idea/inspectionProfiles/profiles_settings.xml +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -1,5 +1,6 @@ + diff --git a/cookbook/filters.py b/cookbook/filters.py index 14c58ccde..b6b1c5a74 100644 --- a/cookbook/filters.py +++ b/cookbook/filters.py @@ -3,6 +3,7 @@ from django.contrib.postgres.search import TrigramSimilarity from django.db.models import Q from cookbook.forms import MultiSelectWidget from cookbook.models import Recipe, Keyword +from django.conf import settings class RecipeFilter(django_filters.FilterSet): @@ -22,8 +23,10 @@ class RecipeFilter(django_filters.FilterSet): def filter_name(queryset, name, value): if not name == 'name': return queryset - - queryset = Recipe.objects.annotate(similarity=TrigramSimilarity('name', value), ).filter(Q(similarity__gt=0.3) | Q(name__icontains=value)).order_by('-similarity') + if settings.DATABASES['default']['ENGINE'] == 'django.db.backends.postgresql_psycopg2': + queryset = Recipe.objects.annotate(similarity=TrigramSimilarity('name', value), ).filter(Q(similarity__gt=0.3) | Q(name__icontains=value)).order_by('-similarity') + else: + queryset = queryset.filter(name__icontains=value) return queryset class Meta: diff --git a/requirements.txt b/requirements.txt index 20470281f..c56df72a3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,5 +11,5 @@ simplejson lxml webdavclient3 python-dotenv==0.7.1 -psycopg2==2.7.4 +psycopg2 gunicorn==19.7.1