removed custom manager on Recipes

This commit is contained in:
smilerz 2021-06-09 20:39:18 -05:00
parent 297eb85d3a
commit da24850d81
6 changed files with 14 additions and 19 deletions

View File

@ -47,8 +47,10 @@ with scopes_disabled():
def filter_name(queryset, name, value):
if not name == 'name':
return queryset
if settings.DATABASES['default']['ENGINE'] in ['django.db.backends.postgresql_psycopg2', 'django.db.backends.postgresql']:
return queryset
if settings.DATABASES['default']['ENGINE'] in ['django.db.backends.postgresql_psycopg2',
'django.db.backends.postgresql']:
queryset = queryset.annotate(similarity=TrigramSimilarity('name', value), ).filter(
Q(similarity__gt=0.1) | Q(name__unaccent__icontains=value)).order_by('-similarity')
else:
queryset = queryset.filter(name__icontains=value)
return queryset

View File

@ -6,6 +6,7 @@ from django.db import models
from django.db.models import Q
from django.utils import translation
# TODO move this somewhere else and delete this file
DICTIONARY = {
# TODO find custom dictionaries - maybe from here https://www.postgresql.org/message-id/CAF4Au4x6X_wSXFwsQYE8q5o0aQZANrvYjZJ8uOnsiHDnOVPPEg%40mail.gmail.com
# 'hy': 'Armenian',

View File

@ -18,7 +18,6 @@ from django_scopes import ScopedManager
from recipes.settings import (COMMENT_PREF_DEFAULT, FRACTION_PREF_DEFAULT,
STICKY_NAV_PREF_DEFAULT)
from cookbook.managers import RecipeSearchManager
def get_user_name(self):
@ -422,11 +421,7 @@ class Recipe(ExportModelOperationsMixin('recipe'), models.Model, PermissionModel
desc_search_vector = SearchVectorField(null=True)
space = models.ForeignKey(Space, on_delete=models.CASCADE)
# load custom manager for full text search if postgress is available
if settings.DATABASES['default']['ENGINE'] in ['django.db.backends.postgresql_psycopg2', 'django.db.backends.postgresql']:
objects = ScopedManager(_manager_class=RecipeSearchManager, space='space')
else:
objects = ScopedManager(space='space')
objects = ScopedManager(space='space')
def __str__(self):
return self.name

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -59,12 +59,9 @@ def search(request):
if has_group_permission(request.user, ('guest',)):
if request.user.userpreference.search_style == UserPreference.NEW:
return search_v2(request)
if settings.DATABASES['default']['ENGINE'] in ['django.db.backends.postgresql_psycopg2', 'django.db.backends.postgresql']:
qs = Recipe.objects.search(request.GET.get('name', ''), space=request.space)
else:
qs = Recipe.objects.filter(space=request.user.userpreference.space).all().order_by('name')
f = RecipeFilter(request.GET, queryset=qs, space=request.space)
f = RecipeFilter(request.GET,
queryset=Recipe.objects.filter(space=request.user.userpreference.space).all().order_by('name'),
space=request.space)
if request.user.userpreference.search_style == UserPreference.LARGE:
table = RecipeTable(f.qs)
else: