-
-
Notifications
You must be signed in to change notification settings - Fork 26
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
The following error occurs if someone tries to access a URL workflow detail view with a non integer primary key in the URL.
We should adjust the URL pattern to only accept integers to avoid this error and raise the expected 404 response.
ValueError: invalid literal for int() with base 10: 'some-string'
File "django/db/models/fields/__init__.py", line 1774, in get_prep_value
return int(value)
ValueError: Field 'id' expected a number but got 'some-string'.
File "django/core/handlers/exception.py", line 47, in inner
response = get_response(request)
File "django/core/handlers/base.py", line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "newrelic/hooks/framework_django.py", line 554, in wrapper
return wrapped(*args, **kwargs)
File "django/views/generic/base.py", line 70, in view
return self.dispatch(request, *args, **kwargs)
File "newrelic/hooks/framework_django.py", line 944, in wrapper
return wrapped(*args, **kwargs)
File "django/views/generic/base.py", line 98, in dispatch
return handler(request, *args, **kwargs)
File "django/views/generic/detail.py", line 106, in get
self.object = self.get_object()
File "django/views/generic/detail.py", line 36, in get_object
queryset = queryset.filter(pk=pk)
File "django/db/models/query.py", line 942, in filter
return self._filter_or_exclude(False, *args, **kwargs)
File "django/db/models/query.py", line 962, in _filter_or_exclude
clone._filter_or_exclude_inplace(negate, *args, **kwargs)
File "django/db/models/query.py", line 969, in _filter_or_exclude_inplace
self._query.add_q(Q(*args, **kwargs))
File "django/db/models/sql/query.py", line 1358, in add_q
clause, _ = self._add_q(q_object, self.used_aliases)
File "django/db/models/sql/query.py", line 1377, in _add_q
child_clause, needed_inner = self.build_filter(
File "django/db/models/sql/query.py", line 1319, in build_filter
condition = self.build_lookup(lookups, col, value)
File "django/db/models/sql/query.py", line 1165, in build_lookup
lookup = lookup_class(lhs, rhs)
File "django/db/models/lookups.py", line 24, in __init__
self.rhs = self.get_prep_lookup()
File "django/db/models/fields/related_lookups.py", line 117, in get_prep_lookup
self.rhs = target_field.get_prep_value(self.rhs)
File "django/db/models/fields/__init__.py", line 1776, in get_prep_value
raise e.__class__(
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working