AttributeError at /api/cursos/cursos/

Cannot find 'curso_seccion' on Curso object, 'curso_seccion' is an invalid parameter to prefetch_related()
Request Method: GET
Request URL: http://127.0.0.1:8000/api/cursos/cursos/
Django Version: 5.2.8
Exception Type: AttributeError
Exception Value:
Cannot find 'curso_seccion' on Curso object, 'curso_seccion' is an invalid parameter to prefetch_related()
Exception Location: C:\Users\hello\AppData\Roaming\Python\Python313\site-packages\django\db\models\query.py, line 2383, in prefetch_related_objects
Raised during: ApiCoreScouts.Views.Curso_view.CursoViewSet
Python Executable: C:\Python313\python.exe
Python Version: 3.13.7
Python Path:
['D:\\IngSw-seccion2\\SystemScoutsApi',
 'C:\\Python313\\python313.zip',
 'C:\\Python313\\DLLs',
 'C:\\Python313\\Lib',
 'C:\\Python313',
 'C:\\Users\\hello\\AppData\\Roaming\\Python\\Python313\\site-packages',
 'C:\\Python313\\Lib\\site-packages']
Server time: Fri, 12 Dec 2025 21:28:40 +0000

Traceback Switch to copy-and-paste view

  • C:\Users\hello\AppData\Roaming\Python\Python313\site-packages\django\core\handlers\exception.py, line 55, in inner
    1.         return inner
    2.     else:
    3.         @wraps(get_response)
    4.         def inner(request):
    5.             try:
    1.                 response = get_response(request)
                                     ^^^^^^^^^^^^^^^^^^^^^
    1.             except Exception as exc:
    2.                 response = response_for_exception(request, exc)
    3.             return response
    4.         return inner
    Local vars
    Variable Value
    exc
    AttributeError("Cannot find 'curso_seccion' on Curso object, 'curso_seccion' is an invalid parameter to prefetch_related()")
    get_response
    <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x0000020763BCCEC0>>
    request
    <WSGIRequest: GET '/api/cursos/cursos/'>
  • C:\Users\hello\AppData\Roaming\Python\Python313\site-packages\django\core\handlers\base.py, line 197, in _get_response
    1.         if response is None:
    2.             wrapped_callback = self.make_view_atomic(callback)
    3.             # If it is an asynchronous view, run it in a subthread.
    4.             if iscoroutinefunction(wrapped_callback):
    5.                 wrapped_callback = async_to_sync(wrapped_callback)
    6.             try:
    1.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.             except Exception as e:
    2.                 response = self.process_exception_by_middleware(e, request)
    3.                 if response is None:
    4.                     raise
    5.         # Complain if the view returned None (a common error).
    Local vars
    Variable Value
    callback
    <function CursoViewSet at 0x0000020765B56CA0>
    callback_args
    ()
    callback_kwargs
    {}
    middleware_method
    <bound method CsrfViewMiddleware.process_view of <CsrfViewMiddleware get_response=convert_exception_to_response.<locals>.inner>>
    request
    <WSGIRequest: GET '/api/cursos/cursos/'>
    response
    None
    self
    <django.core.handlers.wsgi.WSGIHandler object at 0x0000020763BCCEC0>
    wrapped_callback
    <function CursoViewSet at 0x0000020765B56CA0>
  • C:\Users\hello\AppData\Roaming\Python\Python313\site-packages\django\views\decorators\csrf.py, line 65, in _view_wrapper
    1.         async def _view_wrapper(request, *args, **kwargs):
    2.             return await view_func(request, *args, **kwargs)
    3.     else:
    4.         def _view_wrapper(request, *args, **kwargs):
    1.             return view_func(request, *args, **kwargs)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.     _view_wrapper.csrf_exempt = True
    2.     return wraps(view_func)(_view_wrapper)
    Local vars
    Variable Value
    args
    ()
    kwargs
    {}
    request
    <WSGIRequest: GET '/api/cursos/cursos/'>
    view_func
    <function CursoViewSet at 0x0000020765B56B60>
  • C:\Users\hello\AppData\Roaming\Python\Python313\site-packages\rest_framework\viewsets.py, line 125, in view
    1.                 setattr(self, method, handler)
    2.             self.request = request
    3.             self.args = args
    4.             self.kwargs = kwargs
    5.             # And continue as usual
    1.             return self.dispatch(request, *args, **kwargs)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.         # take name and docstring from class
    2.         update_wrapper(view, cls, updated=())
    3.         # and possible attributes set by decorators
    4.         # like csrf_exempt from dispatch
    Local vars
    Variable Value
    action
    'list'
    actions
    {'get': 'list', 'head': 'list', 'post': 'create'}
    args
    ()
    cls
    <class 'ApiCoreScouts.Views.Curso_view.CursoViewSet'>
    handler
    <bound method ListModelMixin.list of <ApiCoreScouts.Views.Curso_view.CursoViewSet object at 0x000002076646B230>>
    initkwargs
    {'basename': 'curso', 'detail': False, 'suffix': 'List'}
    kwargs
    {}
    method
    'head'
    request
    <WSGIRequest: GET '/api/cursos/cursos/'>
    self
    <ApiCoreScouts.Views.Curso_view.CursoViewSet object at 0x000002076646B230>
  • C:\Users\hello\AppData\Roaming\Python\Python313\site-packages\rest_framework\views.py, line 515, in dispatch
    1.                                   self.http_method_not_allowed)
    2.             else:
    3.                 handler = self.http_method_not_allowed
    4.             response = handler(request, *args, **kwargs)
    5.         except Exception as exc:
    1.             response = self.handle_exception(exc)
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.         self.response = self.finalize_response(request, response, *args, **kwargs)
    2.         return self.response
    3.     def options(self, request, *args, **kwargs):
    4.         """
    Local vars
    Variable Value
    args
    ()
    handler
    <bound method ListModelMixin.list of <ApiCoreScouts.Views.Curso_view.CursoViewSet object at 0x000002076646B230>>
    kwargs
    {}
    request
    <rest_framework.request.Request: GET '/api/cursos/cursos/'>
    self
    <ApiCoreScouts.Views.Curso_view.CursoViewSet object at 0x000002076646B230>
  • C:\Users\hello\AppData\Roaming\Python\Python313\site-packages\rest_framework\views.py, line 475, in handle_exception
    1.         exception_handler = self.get_exception_handler()
    2.         context = self.get_exception_handler_context()
    3.         response = exception_handler(exc, context)
    4.         if response is None:
    1.             self.raise_uncaught_exception(exc)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.         response.exception = True
    2.         return response
    3.     def raise_uncaught_exception(self, exc):
    4.         if settings.DEBUG:
    Local vars
    Variable Value
    context
    {'args': (),
     'kwargs': {},
     'request': <rest_framework.request.Request: GET '/api/cursos/cursos/'>,
     'view': <ApiCoreScouts.Views.Curso_view.CursoViewSet object at 0x000002076646B230>}
    exc
    AttributeError("Cannot find 'curso_seccion' on Curso object, 'curso_seccion' is an invalid parameter to prefetch_related()")
    exception_handler
    <function exception_handler at 0x0000020765AFCA40>
    response
    None
    self
    <ApiCoreScouts.Views.Curso_view.CursoViewSet object at 0x000002076646B230>
  • C:\Users\hello\AppData\Roaming\Python\Python313\site-packages\rest_framework\views.py, line 486, in raise_uncaught_exception
    1.     def raise_uncaught_exception(self, exc):
    2.         if settings.DEBUG:
    3.             request = self.request
    4.             renderer_format = getattr(request.accepted_renderer, 'format')
    5.             use_plaintext_traceback = renderer_format not in ('html', 'api', 'admin')
    6.             request.force_plaintext_errors(use_plaintext_traceback)
    1.         raise exc
                   ^^^^^^^^^
    1.     # Note: Views are made CSRF exempt from within `as_view` as to prevent
    2.     # accidental removal of this exemption in cases where `dispatch` needs to
    3.     # be overridden.
    4.     def dispatch(self, request, *args, **kwargs):
    5.         """
    Local vars
    Variable Value
    exc
    AttributeError("Cannot find 'curso_seccion' on Curso object, 'curso_seccion' is an invalid parameter to prefetch_related()")
    renderer_format
    'json'
    request
    <rest_framework.request.Request: GET '/api/cursos/cursos/'>
    self
    <ApiCoreScouts.Views.Curso_view.CursoViewSet object at 0x000002076646B230>
    use_plaintext_traceback
    True
  • C:\Users\hello\AppData\Roaming\Python\Python313\site-packages\rest_framework\views.py, line 512, in dispatch
    1.             # Get the appropriate handler method
    2.             if request.method.lower() in self.http_method_names:
    3.                 handler = getattr(self, request.method.lower(),
    4.                                   self.http_method_not_allowed)
    5.             else:
    6.                 handler = self.http_method_not_allowed
    1.             response = handler(request, *args, **kwargs)
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.         except Exception as exc:
    2.             response = self.handle_exception(exc)
    3.         self.response = self.finalize_response(request, response, *args, **kwargs)
    4.         return self.response
    Local vars
    Variable Value
    args
    ()
    handler
    <bound method ListModelMixin.list of <ApiCoreScouts.Views.Curso_view.CursoViewSet object at 0x000002076646B230>>
    kwargs
    {}
    request
    <rest_framework.request.Request: GET '/api/cursos/cursos/'>
    self
    <ApiCoreScouts.Views.Curso_view.CursoViewSet object at 0x000002076646B230>
  • C:\Users\hello\AppData\Roaming\Python\Python313\site-packages\rest_framework\mixins.py, line 40, in list
    1. class ListModelMixin:
    2.     """
    3.     List a queryset.
    4.     """
    5.     def list(self, request, *args, **kwargs):
    6.         queryset = self.filter_queryset(self.get_queryset())
    1.         page = self.paginate_queryset(queryset)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.         if page is not None:
    2.             serializer = self.get_serializer(page, many=True)
    3.             return self.get_paginated_response(serializer.data)
    4.         serializer = self.get_serializer(queryset, many=True)
    5.         return Response(serializer.data)
    Local vars
    Variable Value
    args
    ()
    kwargs
    {}
    queryset
    Error in formatting: AttributeError: Cannot find 'curso_seccion' on Curso object, 'curso_seccion' is an invalid parameter to prefetch_related()
    request
    <rest_framework.request.Request: GET '/api/cursos/cursos/'>
    self
    <ApiCoreScouts.Views.Curso_view.CursoViewSet object at 0x000002076646B230>
  • C:\Users\hello\AppData\Roaming\Python\Python313\site-packages\rest_framework\generics.py, line 175, in paginate_queryset
    1.     def paginate_queryset(self, queryset):
    2.         """
    3.         Return a single page of results, or `None` if pagination is disabled.
    4.         """
    5.         if self.paginator is None:
    6.             return None
    1.         return self.paginator.paginate_queryset(queryset, self.request, view=self)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.     def get_paginated_response(self, data):
    2.         """
    3.         Return a paginated style `Response` object for the given output data.
    4.         """
    5.         assert self.paginator is not None
    Local vars
    Variable Value
    queryset
    Error in formatting: AttributeError: Cannot find 'curso_seccion' on Curso object, 'curso_seccion' is an invalid parameter to prefetch_related()
    self
    <ApiCoreScouts.Views.Curso_view.CursoViewSet object at 0x000002076646B230>
  • C:\Users\hello\AppData\Roaming\Python\Python313\site-packages\rest_framework\pagination.py, line 222, in paginate_queryset
    1.             )
    2.             raise NotFound(msg)
    3.         if paginator.num_pages > 1 and self.template is not None:
    4.             # The browsable API should display pagination controls.
    5.             self.display_page_controls = True
    1.         return list(self.page)
                          ^^^^^^^^^^^^^^^
    1.     def get_page_number(self, request, paginator):
    2.         page_number = request.query_params.get(self.page_query_param) or 1
    3.         if page_number in self.last_page_strings:
    4.             page_number = paginator.num_pages
    5.         return page_number
    Local vars
    Variable Value
    page_number
    1
    page_size
    100
    paginator
    <django.core.paginator.Paginator object at 0x0000020766487A50>
    queryset
    Error in formatting: AttributeError: Cannot find 'curso_seccion' on Curso object, 'curso_seccion' is an invalid parameter to prefetch_related()
    request
    <rest_framework.request.Request: GET '/api/cursos/cursos/'>
    self
    <ApiCoreScouts.Views.Curso_view.StandardResultsSetPagination object at 0x000002076636D3D0>
    view
    <ApiCoreScouts.Views.Curso_view.CursoViewSet object at 0x000002076646B230>
  • C:\Users\hello\AppData\Roaming\Python\Python313\site-packages\django\core\paginator.py, line 191, in __len__
    1.         self.number = number
    2.         self.paginator = paginator
    3.     def __repr__(self):
    4.         return "<Page %s of %s>" % (self.number, self.paginator.num_pages)
    5.     def __len__(self):
    1.         return len(self.object_list)
                          ^^^^^^^^^^^^^^^^^^^^^
    1.     def __getitem__(self, index):
    2.         if not isinstance(index, (int, slice)):
    3.             raise TypeError(
    4.                 "Page indices must be integers or slices, not %s."
    5.                 % type(index).__name__
    Local vars
    Variable Value
    self
    <Page 1 of 1>
  • C:\Users\hello\AppData\Roaming\Python\Python313\site-packages\django\db\models\query.py, line 368, in __len__
    1.     def __repr__(self):
    2.         data = list(self[: REPR_OUTPUT_SIZE + 1])
    3.         if len(data) > REPR_OUTPUT_SIZE:
    4.             data[-1] = "...(remaining elements truncated)..."
    5.         return "<%s %r>" % (self.__class__.__name__, data)
    6.     def __len__(self):
    1.         self._fetch_all()
                   ^^^^^^^^^^^^^^^^^
    1.         return len(self._result_cache)
    2.     def __iter__(self):
    3.         """
    4.         The queryset iterator protocol uses three nested iterators in the
    5.         default case:
    Local vars
    Variable Value
    self
    <QuerySet [<Curso: Curso object (1)>]>
  • C:\Users\hello\AppData\Roaming\Python\Python313\site-packages\django\db\models\query.py, line 1956, in _fetch_all
    1.         c._fields = self._fields
    2.         return c
    3.     def _fetch_all(self):
    4.         if self._result_cache is None:
    5.             self._result_cache = list(self._iterable_class(self))
    6.         if self._prefetch_related_lookups and not self._prefetch_done:
    1.             self._prefetch_related_objects()
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.     def _next_is_sticky(self):
    2.         """
    3.         Indicate that the next filter call and the one following that should
    4.         be treated as a single filter. This is only important when it comes to
    5.         determining when to reuse tables for many-to-many filters. Required so
    Local vars
    Variable Value
    self
    <QuerySet [<Curso: Curso object (1)>]>
  • C:\Users\hello\AppData\Roaming\Python\Python313\site-packages\django\db\models\query.py, line 1330, in _prefetch_related_objects
    1.         return self.filter(pk=obj.pk).exists()
    2.     async def acontains(self, obj):
    3.         return await sync_to_async(self.contains)(obj=obj)
    4.     def _prefetch_related_objects(self):
    5.         # This method can only be called once the result cache has been filled.
    1.         prefetch_related_objects(self._result_cache, *self._prefetch_related_lookups)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.         self._prefetch_done = True
    2.     def explain(self, *, format=None, **options):
    3.         """
    4.         Runs an EXPLAIN on the SQL query this QuerySet would perform, and
    5.         returns the results.
    Local vars
    Variable Value
    self
    <QuerySet [<Curso: Curso object (1)>]>
  • C:\Users\hello\AppData\Roaming\Python\Python313\site-packages\django\db\models\query.py, line 2383, in prefetch_related_objects
    1.             first_obj = obj_list[0]
    2.             to_attr = lookup.get_current_to_attr(level)[0]
    3.             prefetcher, descriptor, attr_found, is_fetched = get_prefetcher(
    4.                 first_obj, through_attr, to_attr
    5.             )
    6.             if not attr_found:
    1.                 raise AttributeError(
                            ^
    1.                     "Cannot find '%s' on %s object, '%s' is an invalid "
    2.                     "parameter to prefetch_related()"
    3.                     % (
    4.                         through_attr,
    5.                         first_obj.__class__.__name__,
    6.                         lookup.prefetch_through,
    Local vars
    Variable Value
    all_lookups
    [<django.db.models.query.Prefetch object at 0x0000020766382510>,
     <django.db.models.query.Prefetch object at 0x0000020766383A10>]
    attr_found
    False
    auto_lookups
    set()
    descriptor
    None
    done_queries
    {}
    first_obj
    <Curso: Curso object (1)>
    followed_descriptors
    set()
    good_objects
    True
    is_fetched
    <function get_prefetcher.<locals>.is_to_attr_fetched.<locals>.has_to_attr_attribute at 0x0000020766366340>
    level
    0
    lookup
    <django.db.models.query.Prefetch object at 0x0000020766381240>
    model_instances
    [<Curso: Curso object (1)>]
    obj
    <Curso: Curso object (1)>
    obj_list
    [<Curso: Curso object (1)>]
    prefetch_to
    'curso_seccion'
    prefetcher
    None
    related_lookups
    (<django.db.models.query.Prefetch object at 0x0000020766381240>,
     <django.db.models.query.Prefetch object at 0x0000020766383A10>,
     <django.db.models.query.Prefetch object at 0x0000020766382510>)
    through_attr
    'curso_seccion'
    through_attrs
    ['curso_seccion']
    to_attr
    'curso_seccion'


Request information

USER

admin

GET

No GET data

POST

No POST data

FILES

No FILES data

No cookie data

META

Variable Value
ACSETUPSVCPORT
'23210'
ACSVCPORT
'17532'
ALLUSERSPROFILE
'C:\\ProgramData'
ANTIGRAVITY_CLI_ALIAS
'agy'
APPDATA
'C:\\Users\\hello\\AppData\\Roaming'
BUNDLED_DEBUGPY_PATH
'c:\\Users\\hello\\.antigravity\\extensions\\ms-python.debugpy-2025.14.1-win32-x64\\bundled\\libs\\debugpy'
CHOCOLATEYINSTALL
'C:\\ProgramData\\chocolatey'
CHOCOLATEYLASTPATHUPDATE
'133921624764106787'
CHROME_CRASHPAD_PIPE_NAME
'\\\\.\\pipe\\crashpad_33092_BKEZERFIRUHSMQAB'
COLORTERM
'truecolor'
COMMONPROGRAMFILES
'C:\\Program Files\\Common Files'
COMMONPROGRAMFILES(X86)
'C:\\Program Files (x86)\\Common Files'
COMMONPROGRAMW6432
'C:\\Program Files\\Common Files'
COMPUTERNAME
'SVARTR'
COMSPEC
'C:\\WINDOWS\\system32\\cmd.exe'
CONTENT_LENGTH
''
CONTENT_TYPE
'text/plain'
DJANGO_SETTINGS_MODULE
'SystemScoutsApi.settings'
DRIVERDATA
'C:\\Windows\\System32\\Drivers\\DriverData'
EFC_36668_1262719628
'1'
EFC_36668_1592913036
'1'
EFC_36668_2283032206
'1'
EFC_36668_2775293581
'1'
EFC_36668_3789132940
'1'
ENABLELOG
'INFO'
FFMPEG
'D:\\ffmpeg-8.0-essentials\\bin'
FPS_BROWSER_APP_PROFILE_STRING
'Internet Explorer'
FPS_BROWSER_USER_PROFILE_STRING
'Default'
GATEWAY_INTERFACE
'CGI/1.1'
GIT_ASKPASS
'********************'
HOMEDRIVE
'C:'
HOMEPATH
'\\Users\\hello'
HTTP_ACCEPT_ENCODING
'identity'
HTTP_AUTHORIZATION
'********************'
HTTP_CONNECTION
'close'
HTTP_HOST
'127.0.0.1:8000'
HTTP_USER_AGENT
'Python-urllib/3.13'
IGCCSVC_DB
'AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAoP1CtoKMMEuTcC17QtBn3wQAAAACAAAAAAAQZgAAAAEAACAAAABfHuJSnnTpxA36uzyx9c1JVog7SbDgH1bs3UYQYS83uQAAAAAOgAAAAAIAACAAAACjclVmUf5emT4STFLX/A3q2C/8bBnVtd7/Q/YIoS5P52AAAABYOnGDXAbhStEWtl4wEDbPgT+LXo7Czwh7YReMiAn+E634YDzddklWHUMLZ3R9wZpAHKgumpJFLv9JjO7Jq5ha0ais1pJl+raB1uQolRH7wtk30Uq9YH0joF7PEaqxpBBAAAAAGTnTC2StuUmsdCogAK9/aW4zJl/HeUZy8q+Mw/vSANt8aLss7SFqt303WjmhmQQ8ZZpGsEHujikGzb8ubFU3lA=='
LANG
'en_US.UTF-8'
LOCALAPPDATA
'C:\\Users\\hello\\AppData\\Local'
LOGONSERVER
'\\\\SVARTR'
LUA_DEV
'C:\\Program Files (x86)\\Lua\\5.1'
LUA_PATH
';;C:\\Program Files (x86)\\Lua\\5.1\\lua\\?.luac'
NUMBER_OF_PROCESSORS
'16'
ONEDRIVE
'C:\\Users\\hello\\OneDrive - INACAP'
ONEDRIVECOMMERCIAL
'C:\\Users\\hello\\OneDrive - INACAP'
ONEDRIVECONSUMER
'C:\\Users\\hello\\OneDrive'
ORIGINAL_XDG_CURRENT_DESKTOP
'undefined'
OS
'Windows_NT'
PATH
('C:\\Python313\\Scripts\\;C:\\Python313\\;C:\\Program Files\\Common '
 'Files\\Oracle\\Java\\javapath;C:\\Program Files (x86)\\Common '
 'Files\\Oracle\\Java\\java8path;C:\\Program Files (x86)\\Common '
 'Files\\Oracle\\Java\\javapath;C:\\Program Files (x86)\\VMware\\VMware '
 'Player\\bin\\;C:\\Program Files\\Smart '
 'Projects\\IsoBuster;C:\\OracleEX\\dbhomeXE\\bin;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Windows\\System32\\OpenSSH\\;C:\\Program '
 'Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\Program '
 'Files\\dotnet\\;C:\\Sqlite3;C:\\Program '
 'Files\\Git\\cmd;C:\\Users\\hello\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python312\\Scripts;;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program '
 'Files\\NVIDIA Corporation\\NVIDIA app\\NvDLISR;C:\\Program '
 'Files\\PuTTY\\;C:\\ProgramData\\chocolatey\\bin;C:\\Program Files '
 '(x86)\\Lua\\5.1;C:\\Program Files (x86)\\Lua\\5.1\\clibs;C:\\Program '
 'Files\\010 Editor;;C:\\Program '
 'Files\\Docker\\Docker\\resources\\bin;C:\\Program '
 'Files\\nodejs\\;C:\\Users\\hello\\scoop\\shims;C:\\Program '
 'Files\\MySQL\\MySQL Shell '
 '8.0\\bin\\;C:\\Users\\hello\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\hello\\AppData\\Local\\Programs\\Microsoft '
 'VS '
 'Code\\bin;C:\\Users\\hello\\AppData\\Local\\GitHubDesktop\\bin;C:\\Users\\hello\\.lmstudio\\bin;C:\\Users\\hello\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\hello\\AppData\\Local\\Programs\\mongosh\\;C:\\Program '
 'Files (x86)\\Nmap;C:\\Program '
 'Files\\Wget;C:\\Users\\hello\\AppData\\Local\\Programs\\MiKTeX\\miktex\\bin\\x64\\;C:\\Users\\hello\\AppData\\Roaming\\npm;C:\\Users\\hello\\flutter\\bin;D:\\Program '
 'Files\\Antigravity\\bin;c:\\Users\\hello\\.antigravity\\extensions\\ms-python.debugpy-2025.14.1-win32-x64\\bundled\\scripts\\noConfigScripts')
PATHEXT
'.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.wlua;.lexe;.PY;.PYW;.CPL'
PATH_INFO
'/api/cursos/cursos/'
PROCESSOR_ARCHITECTURE
'AMD64'
PROCESSOR_IDENTIFIER
'Intel64 Family 6 Model 154 Stepping 3, GenuineIntel'
PROCESSOR_LEVEL
'6'
PROCESSOR_REVISION
'9a03'
PROGRAMDATA
'C:\\ProgramData'
PROGRAMFILES
'C:\\Program Files'
PROGRAMFILES(X86)
'C:\\Program Files (x86)'
PROGRAMW6432
'C:\\Program Files'
PSMODULEPATH
('C:\\Users\\hello\\Documents\\WindowsPowerShell\\Modules;C:\\Program '
 'Files\\WindowsPowerShell\\Modules;C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules')
PT8HOME
'C:\\Program Files\\Cisco Packet Tracer 8.2.2'
PUBLIC
'C:\\Users\\Public'
PYDEVD_DISABLE_FILE_VALIDATION
'1'
PYTHONSTARTUP
'c:\\Users\\hello\\AppData\\Roaming\\Antigravity\\User\\workspaceStorage\\a1c3dbb2c8b8e5195ae4df9613dbec9f\\ms-python.python\\pythonrc.py'
PYTHON_BASIC_REPL
'1'
QUERY_STRING
''
REMOTE_ADDR
'127.0.0.1'
REMOTE_HOST
''
REQUEST_METHOD
'GET'
RLSSVCPORT
'22112'
RUN_MAIN
'true'
SCRIPT_NAME
''
SERVER_NAME
'kubernetes.docker.internal'
SERVER_PORT
'8000'
SERVER_PROTOCOL
'HTTP/1.1'
SERVER_SOFTWARE
'WSGIServer/0.2'
SESSIONNAME
'Console'
SYSTEMDRIVE
'C:'
SYSTEMROOT
'C:\\WINDOWS'
TEMP
'C:\\Users\\hello\\AppData\\Local\\Temp'
TERM_PROGRAM
'vscode'
TERM_PROGRAM_VERSION
'1.104.0'
TMP
'C:\\Users\\hello\\AppData\\Local\\Temp'
USERDOMAIN
'SVARTR'
USERDOMAIN_ROAMINGPROFILE
'SVARTR'
USERNAME
'hello'
USERPROFILE
'C:\\Users\\hello'
VBOX_MSI_INSTALL_PATH
'C:\\Program Files\\Oracle\\VirtualBox\\'
VSCODE_DEBUGPY_ADAPTER_ENDPOINTS
'c:\\Users\\hello\\.antigravity\\extensions\\ms-python.debugpy-2025.14.1-win32-x64\\.noConfigDebugAdapterEndpoints\\endpoint-cbfcd9d056b359e9.txt'
VSCODE_GIT_ASKPASS_EXTRA_ARGS
'********************'
VSCODE_GIT_ASKPASS_MAIN
'********************'
VSCODE_GIT_ASKPASS_NODE
'********************'
VSCODE_GIT_IPC_HANDLE
'\\\\.\\pipe\\vscode-git-303d612a01-sock'
VSCODE_INJECTION
'1'
VSCODE_PYTHON_AUTOACTIVATE_GUARD
'1'
WINDIR
'C:\\WINDOWS'
ZES_ENABLE_SYSMAN
'1'
wsgi.errors
<_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>
wsgi.file_wrapper
<class 'wsgiref.util.FileWrapper'>
wsgi.input
<django.core.handlers.wsgi.LimitedStream object at 0x0000020766347A60>
wsgi.multiprocess
False
wsgi.multithread
True
wsgi.run_once
False
wsgi.url_scheme
'http'
wsgi.version
(1, 0)

Settings

Using settings module SystemScoutsApi.settings

Setting Value
ABSOLUTE_URL_OVERRIDES
{}
ADMINS
[]
ALLOWED_HOSTS
['sistema.guiasyscoutsbiobio.cl',
 'www.sistema.guiasyscoutsbiobio.cl',
 'localhost',
 '127.0.0.1']
APPEND_SLASH
False
AUTHENTICATION_BACKENDS
'********************'
AUTH_PASSWORD_VALIDATORS
'********************'
AUTH_USER_MODEL
'********************'
BASE_DIR
WindowsPath('D:/IngSw-seccion2/SystemScoutsApi')
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS
'default'
CACHE_MIDDLEWARE_KEY_PREFIX
'********************'
CACHE_MIDDLEWARE_SECONDS
600
CORS_ALLOWED_ORIGINS
['http://localhost:5173',
 'http://127.0.0.1:5173',
 'http://localhost:5174',
 'http://127.0.0.1:5174',
 'https://sistema.guiasyscoutsbiobio.cl']
CORS_ALLOW_CREDENTIALS
True
CORS_ALLOW_HEADERS
['authorization',
 'content-type',
 'accept',
 'origin',
 'user-agent',
 'dnt',
 'cache-control',
 'x-requested-with']
CORS_ALLOW_METHODS
['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS']
CSRF_COOKIE_AGE
31449600
CSRF_COOKIE_DOMAIN
None
CSRF_COOKIE_HTTPONLY
False
CSRF_COOKIE_NAME
'csrftoken'
CSRF_COOKIE_PATH
'/'
CSRF_COOKIE_SAMESITE
'Lax'
CSRF_COOKIE_SECURE
False
CSRF_FAILURE_VIEW
'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME
'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS
['https://sistema.guiasyscoutsbiobio.cl']
CSRF_USE_SESSIONS
False
DATABASES
{'default': {'ATOMIC_REQUESTS': False,
             'AUTOCOMMIT': True,
             'CONN_HEALTH_CHECKS': False,
             'CONN_MAX_AGE': 0,
             'DISABLE_SERVER_SIDE_CURSORS': True,
             'ENGINE': 'django.db.backends.mysql',
             'HOST': '127.0.0.1',
             'NAME': 'ssb',
             'OPTIONS': {'charset': 'utf8mb4',
                         'init_command': "SET sql_mode='STRICT_TRANS_TABLES', "
                                         "NAMES 'utf8mb4'"},
             'PASSWORD': '********************',
             'PORT': '3306',
             'TEST': {'CHARSET': None,
                      'COLLATION': None,
                      'MIGRATE': True,
                      'MIRROR': None,
                      'NAME': None},
             'TIME_ZONE': None,
             'USER': 'root'}}
DATABASE_ROUTERS
[]
DATA_UPLOAD_MAX_MEMORY_SIZE
2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS
1000
DATA_UPLOAD_MAX_NUMBER_FILES
100
DATETIME_FORMAT
'N j, Y, P'
DATETIME_INPUT_FORMATS
['%Y-%m-%d %H:%M:%S',
 '%Y-%m-%d %H:%M:%S.%f',
 '%Y-%m-%d %H:%M',
 '%m/%d/%Y %H:%M:%S',
 '%m/%d/%Y %H:%M:%S.%f',
 '%m/%d/%Y %H:%M',
 '%m/%d/%y %H:%M:%S',
 '%m/%d/%y %H:%M:%S.%f',
 '%m/%d/%y %H:%M']
DATE_FORMAT
'N j, Y'
DATE_INPUT_FORMATS
['%Y-%m-%d',
 '%m/%d/%Y',
 '%m/%d/%y',
 '%b %d %Y',
 '%b %d, %Y',
 '%d %b %Y',
 '%d %b, %Y',
 '%B %d %Y',
 '%B %d, %Y',
 '%d %B %Y',
 '%d %B, %Y']
DB_HOST
'127.0.0.1'
DB_NAME
'ssb'
DEBUG
True
DEBUG_PROPAGATE_EXCEPTIONS
False
DECIMAL_SEPARATOR
'.'
DEFAULT_AUTO_FIELD
'django.db.models.BigAutoField'
DEFAULT_CHARSET
'utf-8'
DEFAULT_EXCEPTION_REPORTER
'django.views.debug.ExceptionReporter'
DEFAULT_EXCEPTION_REPORTER_FILTER
'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FROM_EMAIL
'noreply@guiasyscoutsbiobio.cl'
DEFAULT_INDEX_TABLESPACE
''
DEFAULT_TABLESPACE
''
DISALLOWED_USER_AGENTS
[]
EMAIL_BACKEND
'django.core.mail.backends.console.EmailBackend'
EMAIL_HOST
'localhost'
EMAIL_HOST_PASSWORD
'********************'
EMAIL_HOST_USER
''
EMAIL_PORT
25
EMAIL_SSL_CERTFILE
None
EMAIL_SSL_KEYFILE
'********************'
EMAIL_SUBJECT_PREFIX
'[Django] '
EMAIL_TIMEOUT
None
EMAIL_USE_LOCALTIME
False
EMAIL_USE_SSL
False
EMAIL_USE_TLS
False
FILE_UPLOAD_DIRECTORY_PERMISSIONS
None
FILE_UPLOAD_HANDLERS
['django.core.files.uploadhandler.MemoryFileUploadHandler',
 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
FILE_UPLOAD_PERMISSIONS
420
FILE_UPLOAD_TEMP_DIR
None
FIRST_DAY_OF_WEEK
0
FIXTURE_DIRS
[]
FORCE_SCRIPT_NAME
None
FORMAT_MODULE_PATH
None
FORMS_URLFIELD_ASSUME_HTTPS
False
FORM_RENDERER
'django.forms.renderers.DjangoTemplates'
FRONTEND_DIST
WindowsPath('D:/IngSw-seccion2/SystemScoutsApi/frontend/dist')
FRONTEND_DIST_EXISTS
False
IGNORABLE_404_URLS
[]
INSTALLED_APPS
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'ApiCoreScouts',
 'rest_framework',
 'corsheaders',
 'rest_framework_simplejwt',
 'django_filters']
INTERNAL_IPS
[]
LANGUAGES
[('af', 'Afrikaans'),
 ('ar', 'Arabic'),
 ('ar-dz', 'Algerian Arabic'),
 ('ast', 'Asturian'),
 ('az', 'Azerbaijani'),
 ('bg', 'Bulgarian'),
 ('be', 'Belarusian'),
 ('bn', 'Bengali'),
 ('br', 'Breton'),
 ('bs', 'Bosnian'),
 ('ca', 'Catalan'),
 ('ckb', 'Central Kurdish (Sorani)'),
 ('cs', 'Czech'),
 ('cy', 'Welsh'),
 ('da', 'Danish'),
 ('de', 'German'),
 ('dsb', 'Lower Sorbian'),
 ('el', 'Greek'),
 ('en', 'English'),
 ('en-au', 'Australian English'),
 ('en-gb', 'British English'),
 ('eo', 'Esperanto'),
 ('es', 'Spanish'),
 ('es-ar', 'Argentinian Spanish'),
 ('es-co', 'Colombian Spanish'),
 ('es-mx', 'Mexican Spanish'),
 ('es-ni', 'Nicaraguan Spanish'),
 ('es-ve', 'Venezuelan Spanish'),
 ('et', 'Estonian'),
 ('eu', 'Basque'),
 ('fa', 'Persian'),
 ('fi', 'Finnish'),
 ('fr', 'French'),
 ('fy', 'Frisian'),
 ('ga', 'Irish'),
 ('gd', 'Scottish Gaelic'),
 ('gl', 'Galician'),
 ('he', 'Hebrew'),
 ('hi', 'Hindi'),
 ('hr', 'Croatian'),
 ('hsb', 'Upper Sorbian'),
 ('hu', 'Hungarian'),
 ('hy', 'Armenian'),
 ('ia', 'Interlingua'),
 ('id', 'Indonesian'),
 ('ig', 'Igbo'),
 ('io', 'Ido'),
 ('is', 'Icelandic'),
 ('it', 'Italian'),
 ('ja', 'Japanese'),
 ('ka', 'Georgian'),
 ('kab', 'Kabyle'),
 ('kk', 'Kazakh'),
 ('km', 'Khmer'),
 ('kn', 'Kannada'),
 ('ko', 'Korean'),
 ('ky', 'Kyrgyz'),
 ('lb', 'Luxembourgish'),
 ('lt', 'Lithuanian'),
 ('lv', 'Latvian'),
 ('mk', 'Macedonian'),
 ('ml', 'Malayalam'),
 ('mn', 'Mongolian'),
 ('mr', 'Marathi'),
 ('ms', 'Malay'),
 ('my', 'Burmese'),
 ('nb', 'Norwegian Bokmål'),
 ('ne', 'Nepali'),
 ('nl', 'Dutch'),
 ('nn', 'Norwegian Nynorsk'),
 ('os', 'Ossetic'),
 ('pa', 'Punjabi'),
 ('pl', 'Polish'),
 ('pt', 'Portuguese'),
 ('pt-br', 'Brazilian Portuguese'),
 ('ro', 'Romanian'),
 ('ru', 'Russian'),
 ('sk', 'Slovak'),
 ('sl', 'Slovenian'),
 ('sq', 'Albanian'),
 ('sr', 'Serbian'),
 ('sr-latn', 'Serbian Latin'),
 ('sv', 'Swedish'),
 ('sw', 'Swahili'),
 ('ta', 'Tamil'),
 ('te', 'Telugu'),
 ('tg', 'Tajik'),
 ('th', 'Thai'),
 ('tk', 'Turkmen'),
 ('tr', 'Turkish'),
 ('tt', 'Tatar'),
 ('udm', 'Udmurt'),
 ('ug', 'Uyghur'),
 ('uk', 'Ukrainian'),
 ('ur', 'Urdu'),
 ('uz', 'Uzbek'),
 ('vi', 'Vietnamese'),
 ('zh-hans', 'Simplified Chinese'),
 ('zh-hant', 'Traditional Chinese')]
LANGUAGES_BIDI
['he', 'ar', 'ar-dz', 'ckb', 'fa', 'ug', 'ur']
LANGUAGE_CODE
'en-us'
LANGUAGE_COOKIE_AGE
None
LANGUAGE_COOKIE_DOMAIN
None
LANGUAGE_COOKIE_HTTPONLY
False
LANGUAGE_COOKIE_NAME
'django_language'
LANGUAGE_COOKIE_PATH
'/'
LANGUAGE_COOKIE_SAMESITE
None
LANGUAGE_COOKIE_SECURE
False
LOCALE_PATHS
[]
LOGGING
{'disable_existing_loggers': False,
 'formatters': {'verbose': {'format': '{levelname} {asctime} {module} '
                                      '{message}',
                            'style': '{'}},
 'handlers': {'console': {'class': 'logging.StreamHandler',
                          'formatter': 'verbose',
                          'level': 'INFO'},
              'file': {'backupCount': 5,
                       'class': 'logging.handlers.RotatingFileHandler',
                       'filename': WindowsPath('D:/IngSw-seccion2/SystemScoutsApi/logs/django.log'),
                       'formatter': 'verbose',
                       'level': 'WARNING',
                       'maxBytes': 10485760},
              'security_file': {'backupCount': 5,
                                'class': 'logging.handlers.RotatingFileHandler',
                                'filename': WindowsPath('D:/IngSw-seccion2/SystemScoutsApi/logs/security.log'),
                                'formatter': 'verbose',
                                'level': 'WARNING',
                                'maxBytes': 10485760}},
 'loggers': {'ApiCoreScouts': '********************',
             'django': {'handlers': ['file', 'console'],
                        'level': 'INFO',
                        'propagate': False},
             'django.security': {'handlers': ['security_file', 'console'],
                                 'level': 'WARNING',
                                 'propagate': False}},
 'version': 1}
LOGGING_CONFIG
'logging.config.dictConfig'
LOGIN_REDIRECT_URL
'/accounts/profile/'
LOGIN_URL
'/accounts/login/'
LOGOUT_REDIRECT_URL
None
MANAGERS
[]
MEDIA_ROOT
''
MEDIA_URL
'/'
MESSAGE_STORAGE
'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE
['corsheaders.middleware.CorsMiddleware',
 'django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']
MIGRATION_MODULES
{}
MONTH_DAY_FORMAT
'F j'
NUMBER_GROUPING
0
PASSWORD_HASHERS
'********************'
PASSWORD_RESET_TIMEOUT
'********************'
PREPEND_WWW
False
REST_FRAMEWORK
{'DEFAULT_AUTHENTICATION_CLASSES': '********************',
 'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend',)}
ROOT_URLCONF
'SystemScoutsApi.urls'
SECRET_KEY
'********************'
SECRET_KEY_FALLBACKS
'********************'
SECURE_CONTENT_TYPE_NOSNIFF
True
SECURE_CROSS_ORIGIN_OPENER_POLICY
'same-origin'
SECURE_HSTS_INCLUDE_SUBDOMAINS
False
SECURE_HSTS_PRELOAD
False
SECURE_HSTS_SECONDS
0
SECURE_PROXY_SSL_HEADER
None
SECURE_REDIRECT_EXEMPT
[]
SECURE_REFERRER_POLICY
'same-origin'
SECURE_SSL_HOST
None
SECURE_SSL_REDIRECT
False
SERVER_EMAIL
'root@localhost'
SESSION_CACHE_ALIAS
'default'
SESSION_COOKIE_AGE
1209600
SESSION_COOKIE_DOMAIN
None
SESSION_COOKIE_HTTPONLY
True
SESSION_COOKIE_NAME
'sessionid'
SESSION_COOKIE_PATH
'/'
SESSION_COOKIE_SAMESITE
'Lax'
SESSION_COOKIE_SECURE
False
SESSION_ENGINE
'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE
False
SESSION_FILE_PATH
None
SESSION_SAVE_EVERY_REQUEST
False
SESSION_SERIALIZER
'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE
'SystemScoutsApi.settings'
SHORT_DATETIME_FORMAT
'm/d/Y P'
SHORT_DATE_FORMAT
'm/d/Y'
SIGNING_BACKEND
'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS
[]
SIMPLE_JWT
{'ACCESS_TOKEN_LIFETIME': '********************',
 'ALGORITHM': 'HS256',
 'AUTH_HEADER_TYPES': '********************',
 'BLACKLIST_AFTER_ROTATION': False,
 'REFRESH_TOKEN_LIFETIME': '********************',
 'ROTATE_REFRESH_TOKENS': '********************',
 'SIGNING_KEY': '********************',
 'USER_ID_CLAIM': 'user_id',
 'USER_ID_FIELD': 'usu_id'}
SITE_URL
'https://sistema.guiasyscoutsbiobio.cl'
STATICFILES_DIRS
[]
STATICFILES_FINDERS
['django.contrib.staticfiles.finders.FileSystemFinder',
 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATIC_ROOT
WindowsPath('D:/IngSw-seccion2/SystemScoutsApi/staticfiles')
STATIC_URL
'/static/'
STORAGES
{'default': {'BACKEND': 'django.core.files.storage.FileSystemStorage'},
 'staticfiles': {'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage'}}
TEMPLATES
[{'APP_DIRS': True,
  'BACKEND': 'django.template.backends.django.DjangoTemplates',
  'DIRS': [WindowsPath('D:/IngSw-seccion2/SystemScoutsApi/frontend/dist')],
  'OPTIONS': {'context_processors': ['django.template.context_processors.request',
                                     'django.contrib.auth.context_processors.auth',
                                     'django.contrib.messages.context_processors.messages']}}]
TEST_NON_SERIALIZED_APPS
[]
TEST_RUNNER
'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR
','
TIME_FORMAT
'P'
TIME_INPUT_FORMATS
['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE
'UTC'
USE_I18N
True
USE_THOUSAND_SEPARATOR
False
USE_TZ
True
USE_X_FORWARDED_HOST
False
USE_X_FORWARDED_PORT
False
WSGI_APPLICATION
'SystemScoutsApi.wsgi.application'
X_FRAME_OPTIONS
'DENY'
YEAR_MONTH_FORMAT
'F Y'