-
-
Notifications
You must be signed in to change notification settings - Fork 683
Closed
Labels
setup issuepossibly or definitely an issue with the user setuppossibly or definitely an issue with the user setup
Description
Issue
Hi Benedikt, thanks for all the hard work on Tandoor! I'm currently trying to filter by a tag, however when I click one it looks like this and when I search on it I get a "Fehler beim laden". In Portainer all containers are healthy. Any clues how to fix this? Not sure if it's my I'm running beta 4, moving back to beta 3 didn't make a difference. In the browser console I get https://tandoor.------.synology.me/api/recipe/?keywords=NaN&page=1&page_size=50&query= 500 (Internal Server Error).

Tandoor Version
beta-4
OS Version
DSM 7.2.2-72806 Update 3
Setup
Docker / Docker-Compose
Reverse Proxy
Nginx Proxy Manager (NPM)
Other
No response
Environment file
DEBUG=0
SQL_DEBUG=0
ALLOWED_HOSTS=*
SECRET_KEY=my_secret_key
TZ=Europe/Amsterdam
DB_ENGINE=django.db.backends.postgresql
POSTGRES_HOST=tandoor-db
POSTGRES_PORT=5432
POSTGRES_USER=tandooruser
POSTGRES_PASSWORD=tandoorpass
POSTGRES_DB=tandoor
FRACTION_PREF_DEFAULT=0
COMMENT_PREF_DEFAULT=1
SHOPPING_MIN_AUTOSYNC_INTERVAL=5
GUNICORN_MEDIA=0
REMOTE_USER_AUTH=0
ENABLE_PDF_EXPORT=1
EXPORT_FILE_CACHE_DURATION=600
AI_API_KEY=my_api_key
Docker-Compose file
services:
db:
image: postgres:16
container_name: Tandoor-DB
hostname: tandoor-db
security_opt:
- no-new-privileges:true
healthcheck:
test: ["CMD", "pg_isready", "-q", "-d", "tandoor", "-U", "tandooruser"]
timeout: 45s
interval: 10s
retries: 10
volumes:
- /volume1/docker/tandoor/db:/var/lib/postgresql/data
env_file:
- stack.env
restart: always
tandoor:
image: vabene1111/recipes:2.0.0-beta-4
container_name: Tandoor
hostname: tandoor
security_opt:
- no-new-privileges:true
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:8080 || exit 1
volumes:
- /volume1/docker/tandoor/staticfiles:/opt/recipes/staticfiles:rw
- /volume1/docker/tandoor/mediafiles:/opt/recipes/mediafiles:rw
- /volume1/docker/tandoor/nginx:/opt/recipes/nginx/conf.d:rw
env_file:
- stack.env
restart: always
depends_on:
- db
nginx:
image: nginx:mainline-alpine
container_name: Tandoor-NGINX
hostname: nginx-tandoor
security_opt:
- no-new-privileges:true
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:80 || exit 1
volumes:
- /volume1/docker/tandoor/staticfiles:/static:ro
- /volume1/docker/tandoor/mediafiles:/media:ro
- /volume1/docker/tandoor/nginx:/etc/nginx/conf.d:ro
ports:
- 9815:80
env_file:
- stack.env
restart: always
depends_on:
- tandoor
Relevant logs
::ffff:192.168.64.4 - - [14/Jul/2025:10:50:53 +0200] "GET /api/keyword/?page=1&page_size=25&query= HTTP/1.0" 200 5503 "https://tandoor.opticon2.synology.me/advanced-search" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36"\
ThreadPoolExecutor-0_0 ERROR 2025-07-14 10:50:57,468 django.request Internal Server Error: /api/recipe/\
Traceback (most recent call last):\
File "/opt/recipes/venv/lib/python3.13/site-packages/django/db/models/fields/__init__.py", line 2053, in get_prep_value\
return int(value)\
ValueError: invalid literal for int() with base 10: 'NaN'\
The above exception was the direct cause of the following exception:\
Traceback (most recent call last):\
File "/opt/recipes/venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55, in inner\
response = get_response(request)\
File "/opt/recipes/venv/lib/python3.13/site-packages/django/core/handlers/base.py", line 197, in _get_response\
response = wrapped_callback(request, *callback_args, **callback_kwargs)\
File "/opt/recipes/venv/lib/python3.13/site-packages/django/views/decorators/csrf.py", line 56, in wrapper_view\
return view_func(*args, **kwargs)\
File "/opt/recipes/venv/lib/python3.13/site-packages/rest_framework/viewsets.py", line 124, in view\
return self.dispatch(request, *args, **kwargs)\
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\
File "/opt/recipes/venv/lib/python3.13/site-packages/rest_framework/views.py", line 509, in dispatch\
response = self.handle_exception(exc)\
File "/opt/recipes/venv/lib/python3.13/site-packages/rest_framework/views.py", line 469, in handle_exception\
self.raise_uncaught_exception(exc)\
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^\
File "/opt/recipes/venv/lib/python3.13/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception\
raise exc\
File "/opt/recipes/venv/lib/python3.13/site-packages/rest_framework/views.py", line 506, in dispatch\
response = handler(request, *args, **kwargs)\
File "/opt/recipes/cookbook/views/api.py", line 1253, in list\
return super().list(request, *args, **kwargs)\
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\
::ffff:192.168.64.4 - - [14/Jul/2025:10:50:57 +0200] "GET /api/recipe/?keywords=NaN&page=1&page_size=50&query= HTTP/1.0" 500 145 "https://tandoor.opticon2.synology.me/advanced-search?keywords=[object+Object]" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36"\
File "/opt/recipes/venv/lib/python3.13/site-packages/rest_framework/mixins.py", line 38, in list\
queryset = self.filter_queryset(self.get_queryset())\
~~~~~~~~~~~~~~~~~^^\
File "/opt/recipes/cookbook/views/api.py", line 1247, in get_queryset\
self.queryset = search.get_queryset(self.queryset).prefetch_related('keywords', 'cooklog_set')\
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^\
File "/opt/recipes/cookbook/helper/recipe_search.py", line 162, in get_queryset\
self.keyword_filters(**self._keywords)\
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^\
File "/opt/recipes/cookbook/helper/recipe_search.py", line 357, in keyword_filters\
keywords = Keyword.objects.filter(pk__in=kwargs[kw_filter])\
File "/opt/recipes/venv/lib/python3.13/site-packages/django/db/models/manager.py", line 87, in manager_method\
return getattr(self.get_queryset(), name)(*args, **kwargs)\
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\
File "/opt/recipes/venv/lib/python3.13/site-packages/django/db/models/query.py", line 1436, in filter\
return self._filter_or_exclude(False, args, kwargs)\
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^\
File "/opt/recipes/venv/lib/python3.13/site-packages/django/db/models/query.py", line 1454, in _filter_or_exclude\
clone._filter_or_exclude_inplace(negate, args, kwargs)\
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^\
File "/opt/recipes/venv/lib/python3.13/site-packages/django/db/models/query.py", line 1461, in _filter_or_exclude_inplace\
self._query.add_q(Q(*args, **kwargs))\
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^\
File "/opt/recipes/venv/lib/python3.13/site-packages/django/db/models/sql/query.py", line 1546, in add_q\
clause, _ = self._add_q(q_object, self.used_aliases)\
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\
File "/opt/recipes/venv/lib/python3.13/site-packages/django/db/models/sql/query.py", line 1577, in _add_q\
child_clause, needed_inner = self.build_filter(\
~~~~~~~~~~~~~~~~~^\
child,\
^^^^^^\
...<6 lines>...\
summarize=summarize,\
^^^^^^^^^^^^^^^^^^^^\
)\
^\
File "/opt/recipes/venv/lib/python3.13/site-packages/django/db/models/sql/query.py", line 1492, in build_filter\
condition = self.build_lookup(lookups, col, value)\
File "/opt/recipes/venv/lib/python3.13/site-packages/django/db/models/sql/query.py", line 1319, in build_lookup\
lookup = lookup_class(lhs, rhs)\
File "/opt/recipes/venv/lib/python3.13/site-packages/django/db/models/lookups.py", line 27, in __init__\
self.rhs = self.get_prep_lookup()\
~~~~~~~~~~~~~~~~~~~~^^\
File "/opt/recipes/venv/lib/python3.13/site-packages/django/db/models/lookups.py", line 426, in get_prep_lookup\
return super().get_prep_lookup()\
~~~~~~~~~~~~~~~~~~~~~~~^^\
File "/opt/recipes/venv/lib/python3.13/site-packages/django/db/models/lookups.py", line 276, in get_prep_lookup\
rhs_value = self.lhs.output_field.get_prep_value(rhs_value)\
File "/opt/recipes/venv/lib/python3.13/site-packages/django/db/models/fields/__init__.py", line 2055, in get_prep_value\
raise e.__class__(\
"Field '%s' expected a number but got %r." % (self.name, value),\
�\
) from e\
ValueError: Field 'id' expected a number but got 'NaN'.\
}
Metadata
Metadata
Assignees
Labels
setup issuepossibly or definitely an issue with the user setuppossibly or definitely an issue with the user setup
Type
Projects
Status
Done