deploy fixes
authorRadek Czajka <rczajka@rczajka.pl>
Wed, 4 Nov 2026 00:17:24 +0000 (01:17 +0100)
committerRadek Czajka <rczajka@rczajka.pl>
Wed, 4 Nov 2026 00:17:24 +0000 (01:17 +0100)
scripts/nginx.conf
src/search/utils.py

index 872f1a2..561a5d4 100644 (file)
@@ -35,7 +35,7 @@ server {
 
     location /api/ {
         add_header 'Access-Control-Allow-Origin' '*' always;
 
     location /api/ {
         add_header 'Access-Control-Allow-Origin' '*' always;
-        add_header 'Access-Control-Allow-Methods' 'GE, POST, PUT, DELETE' always;
+        add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE' always;
         add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type' always;
         add_header 'Access-Control-Expose-Headers' 'Link' always;
 
         add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type' always;
         add_header 'Access-Control-Expose-Headers' 'Link' always;
 
index 77ff1ae..69263e7 100644 (file)
@@ -1,31 +1,10 @@
 from django.conf import settings
 from django.conf import settings
-from django.db.models import Func
-from django.contrib.postgres.search import SearchQuery, SearchVectorField
+from django.contrib.postgres.search import SearchQuery, SearchVector
 
 
 
 
-class UnaccentSearchQuery(SearchQuery):
-    '''
-    The idea is to run unaccent *after* the query is already passed through the language dictionary.
-    '''
-    def as_sql(self, *args, **kwargs):
-        sql, params = super().as_sql(*args, **kwargs)
-        if settings.SEARCH_USE_UNACCENT:
-            sql = f'unaccent({sql}::text)::tsquery'
-        return sql, params
+# Deprecated
+UnaccentSearchQuery = SearchQuery
 
 
 
 
-class UnaccentSearchVector(Func):
-    '''
-    We do the indexing twice, to account for non-diacritic versions.
-    For example: user enters 'róże' -> stem to 'róża' -> unaccent to 'roza'.
-    But user enters 'roze' -> stem leaves it as is, so we need original form in the vector.
-    '''
-    function='to_tsvector'
-    if settings.SEARCH_USE_UNACCENT:
-        template = f'''unaccent(
-        %(function)s('{settings.SEARCH_CONFIG}', %(expressions)s)::text)::tsvector ||
-        to_tsvector(
-        '{settings.SEARCH_CONFIG_SIMPLE}', 
-        unaccent(%(expressions)s)
-        )'''
-    output_field = SearchVectorField()
+def UnaccentSearchVector(expression):
+    return SearchVector(expression, config=settings.SEARCH_CONFIG)