fixed postgres search
This commit is contained in:
2
.idea/recipes.iml
generated
2
.idea/recipes.iml
generated
@ -6,7 +6,7 @@
|
||||
<option name="rootFolder" value="$MODULE_DIR$" />
|
||||
<option name="settingsModule" value="recipes/settings.py" />
|
||||
<option name="manageScript" value="$MODULE_DIR$/manage.py" />
|
||||
<option name="environment" value="<map/>" />
|
||||
<option name="environment" value="<map> <entry> <string>POSTGRES_USER</string> <string>postgres</string> </entry> <entry> <string>POSTGRES_HOST</string> <string>localhost</string> </entry> <entry> <string>DB_ENGINE</string> <string>django.db.backends.postgresql_psycopg2</string> </entry> <entry> <string>POSTGRES_PORT</string> <string>5432</string> </entry> <entry> <string>POSTGRES_PASSWORD</string> <string>Computer1234</string> </entry> <entry> <string>POSTGRES_DB</string> <string>recipes_db</string> </entry> </map>" />
|
||||
<option name="doNotUseTestRunner" value="false" />
|
||||
<option name="trackFilePattern" value="migrations" />
|
||||
</configuration>
|
||||
|
@ -49,8 +49,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']:
|
||||
queryset = queryset.annotate(similarity=TrigramSimilarity('name', value), ).filter(Q(similarity__gt=0.1) | Q(name__unaccent__icontains=value)).order_by('-similarity')
|
||||
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
|
||||
|
15
cookbook/migrations/0119_auto_20210411_2101.py
Normal file
15
cookbook/migrations/0119_auto_20210411_2101.py
Normal file
@ -0,0 +1,15 @@
|
||||
# Generated by Django 3.2 on 2021-04-11 19:01
|
||||
from django.contrib.postgres.operations import UnaccentExtension, TrigramExtension
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('cookbook', '0118_auto_20210406_1805'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
TrigramExtension(),
|
||||
UnaccentExtension(),
|
||||
]
|
@ -29,7 +29,6 @@ DEMO = bool(int(os.getenv('DEMO', False)))
|
||||
SOCIAL_DEFAULT_ACCESS = bool(int(os.getenv('SOCIAL_DEFAULT_ACCESS', False)))
|
||||
SOCIAL_DEFAULT_GROUP = os.getenv('SOCIAL_DEFAULT_GROUP', 'guest')
|
||||
|
||||
|
||||
INTERNAL_IPS = os.getenv('INTERNAL_IPS').split(',') if os.getenv('INTERNAL_IPS') else ['127.0.0.1']
|
||||
|
||||
# allow djangos wsgi server to server mediafiles
|
||||
@ -75,6 +74,7 @@ INSTALLED_APPS = [
|
||||
'django.contrib.messages',
|
||||
'django.contrib.sites',
|
||||
'django.contrib.staticfiles',
|
||||
'django.contrib.postgres',
|
||||
'django_tables2',
|
||||
'django_filters',
|
||||
'crispy_forms',
|
||||
@ -93,7 +93,8 @@ INSTALLED_APPS = [
|
||||
SOCIAL_PROVIDERS = os.getenv('SOCIAL_PROVIDERS').split(',') if os.getenv('SOCIAL_PROVIDERS') else []
|
||||
INSTALLED_APPS = INSTALLED_APPS + SOCIAL_PROVIDERS
|
||||
|
||||
SOCIALACCOUNT_PROVIDERS = ast.literal_eval(os.getenv('SOCIALACCOUNT_PROVIDERS') if os.getenv('SOCIALACCOUNT_PROVIDERS') else '{}')
|
||||
SOCIALACCOUNT_PROVIDERS = ast.literal_eval(
|
||||
os.getenv('SOCIALACCOUNT_PROVIDERS') if os.getenv('SOCIALACCOUNT_PROVIDERS') else '{}')
|
||||
|
||||
MIDDLEWARE = [
|
||||
'django.middleware.security.SecurityMiddleware',
|
||||
|
Reference in New Issue
Block a user