removed custom manager on Recipes
This commit is contained in:
parent
297eb85d3a
commit
da24850d81
@ -47,8 +47,10 @@ with scopes_disabled():
|
|||||||
def filter_name(queryset, name, value):
|
def filter_name(queryset, name, value):
|
||||||
if not name == 'name':
|
if not name == 'name':
|
||||||
return queryset
|
return queryset
|
||||||
if settings.DATABASES['default']['ENGINE'] in ['django.db.backends.postgresql_psycopg2', 'django.db.backends.postgresql']:
|
if settings.DATABASES['default']['ENGINE'] in ['django.db.backends.postgresql_psycopg2',
|
||||||
return queryset
|
'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:
|
else:
|
||||||
queryset = queryset.filter(name__icontains=value)
|
queryset = queryset.filter(name__icontains=value)
|
||||||
return queryset
|
return queryset
|
||||||
|
@ -6,6 +6,7 @@ from django.db import models
|
|||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
from django.utils import translation
|
from django.utils import translation
|
||||||
|
|
||||||
|
# TODO move this somewhere else and delete this file
|
||||||
DICTIONARY = {
|
DICTIONARY = {
|
||||||
# TODO find custom dictionaries - maybe from here https://www.postgresql.org/message-id/CAF4Au4x6X_wSXFwsQYE8q5o0aQZANrvYjZJ8uOnsiHDnOVPPEg%40mail.gmail.com
|
# TODO find custom dictionaries - maybe from here https://www.postgresql.org/message-id/CAF4Au4x6X_wSXFwsQYE8q5o0aQZANrvYjZJ8uOnsiHDnOVPPEg%40mail.gmail.com
|
||||||
# 'hy': 'Armenian',
|
# 'hy': 'Armenian',
|
||||||
|
@ -18,7 +18,6 @@ from django_scopes import ScopedManager
|
|||||||
|
|
||||||
from recipes.settings import (COMMENT_PREF_DEFAULT, FRACTION_PREF_DEFAULT,
|
from recipes.settings import (COMMENT_PREF_DEFAULT, FRACTION_PREF_DEFAULT,
|
||||||
STICKY_NAV_PREF_DEFAULT)
|
STICKY_NAV_PREF_DEFAULT)
|
||||||
from cookbook.managers import RecipeSearchManager
|
|
||||||
|
|
||||||
|
|
||||||
def get_user_name(self):
|
def get_user_name(self):
|
||||||
@ -422,10 +421,6 @@ class Recipe(ExportModelOperationsMixin('recipe'), models.Model, PermissionModel
|
|||||||
desc_search_vector = SearchVectorField(null=True)
|
desc_search_vector = SearchVectorField(null=True)
|
||||||
space = models.ForeignKey(Space, on_delete=models.CASCADE)
|
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):
|
def __str__(self):
|
||||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -59,12 +59,9 @@ def search(request):
|
|||||||
if has_group_permission(request.user, ('guest',)):
|
if has_group_permission(request.user, ('guest',)):
|
||||||
if request.user.userpreference.search_style == UserPreference.NEW:
|
if request.user.userpreference.search_style == UserPreference.NEW:
|
||||||
return search_v2(request)
|
return search_v2(request)
|
||||||
if settings.DATABASES['default']['ENGINE'] in ['django.db.backends.postgresql_psycopg2', 'django.db.backends.postgresql']:
|
f = RecipeFilter(request.GET,
|
||||||
qs = Recipe.objects.search(request.GET.get('name', ''), space=request.space)
|
queryset=Recipe.objects.filter(space=request.user.userpreference.space).all().order_by('name'),
|
||||||
else:
|
space=request.space)
|
||||||
qs = Recipe.objects.filter(space=request.user.userpreference.space).all().order_by('name')
|
|
||||||
f = RecipeFilter(request.GET, queryset=qs, space=request.space)
|
|
||||||
|
|
||||||
if request.user.userpreference.search_style == UserPreference.LARGE:
|
if request.user.userpreference.search_style == UserPreference.LARGE:
|
||||||
table = RecipeTable(f.qs)
|
table = RecipeTable(f.qs)
|
||||||
else:
|
else:
|
||||||
|
Loading…
Reference in New Issue
Block a user