05/26/2026 11:38:31 EDT - 74.110.227.200 - fn_called=purchase 05/26/2026 11:38:31 EDT - 74.110.227.200 - EgwApi::__construct() 05/26/2026 11:38:31 EDT - 74.110.227.200 - EgwApi::__construct: base_url=https://sandbox.playegamesnow.com 05/26/2026 11:38:31 EDT - 74.110.227.200 - EgwApi::__construct: bearer_token=swOamd6_FdUGohh8gmHdX2__dxvqfXAVw3nwO8XuLCA 05/26/2026 11:38:31 EDT - 74.110.227.200 - EgwApi::purchase( 73b83a81-0293-45ae-99ba-bdd7f3555aa4, 92d9a074-3a27-463a-9255-b8ba671df802, 900100000000, 456, 123, paypal, 10 ) 05/26/2026 11:38:31 EDT - 74.110.227.200 - post( /operator/g/purchase/, array ( 'operator_id' => '73b83a81-0293-45ae-99ba-bdd7f3555aa4', 'operator_game_id' => '92d9a074-3a27-463a-9255-b8ba671df802', 'operator_wallet_id' => '900100000000', 'player_game_user_id' => '456', 'player_wallet_id' => '123', 'payment_provider_id' => 'paypal', 'amount' => 10.0, ) ) 05/26/2026 11:38:32 EDT - 74.110.227.200 - post json_response [500]: ValueError at /operator/g/purchase/

ValueError at /operator/g/purchase/

Field 'id' expected a number but got '92d9a074-3a27-463a-9255-b8ba671df802'.
Request Method: POST
Request URL: http://sandbox.playegamesnow.com/operator/g/purchase/
Django Version: 5.2.4
Exception Type: ValueError
Exception Value:
Field 'id' expected a number but got '92d9a074-3a27-463a-9255-b8ba671df802'.
Exception Location: /.venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py, line 2130, in get_prep_value
Raised during: users.api.DiaFlowApiView
Python Executable: /.venv/bin/python3
Python Version: 3.12.11
Python Path:
['/app',
 '/usr/local/lib/python312.zip',
 '/usr/local/lib/python3.12',
 '/usr/local/lib/python3.12/lib-dynload',
 '/.venv/lib/python3.12/site-packages',
 '/']
Server time: Tue, 26 May 2026 15:38:32 +0000

Traceback Switch to copy-and-paste view

  • /.venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py, line 2128, in get_prep_value
    1.         return validators_
    2.     def get_prep_value(self, value):
    3.         value = super().get_prep_value(value)
    4.         if value is None:
    5.             return None
    6.         try:
    1.             return int(value)
                               ^^^^^^^^^^
    1.         except (TypeError, ValueError) as e:
    2.             raise e.__class__(
    3.                 "Field '%s' expected a number but got %r." % (self.name, value),
    4.             ) from e
    5.     def get_db_prep_value(self, value, connection, prepared=False):
    Local vars
    Variable Value
    __class__
    <class 'django.db.models.fields.IntegerField'>
    self
    <django.db.models.fields.BigAutoField: id>
    value
    '92d9a074-3a27-463a-9255-b8ba671df802'
  • The above exception (invalid literal for int() with base 10: '92d9a074-3a27-463a-9255-b8ba671df802') was the direct cause of the following exception:

  • /.venv/lib/python3.12/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
    ValueError("Field 'id' expected a number but got '92d9a074-3a27-463a-9255-b8ba671df802'.")
    get_response
    <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7fdc0f3b34a0>>
    request
    <WSGIRequest: POST '/operator/g/purchase/'>
  • /.venv/lib/python3.12/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 View.as_view.<locals>.view at 0x7fdc0af02200>
    callback_args
    ()
    callback_kwargs
    {'action': 'purchase'}
    middleware_method
    <function CsrfViewMiddleware.process_view at 0x7fdc0abb5760>
    request
    <WSGIRequest: POST '/operator/g/purchase/'>
    response
    None
    self
    <django.core.handlers.wsgi.WSGIHandler object at 0x7fdc0f3b34a0>
    wrapped_callback
    <function View.as_view.<locals>.view at 0x7fdc0a70db20>
  • /.venv/lib/python3.12/site-packages/sentry_sdk/integrations/django/views.py, line 94, in sentry_wrapped_callback
    1.             sentry_scope.profile.update_active_thread_id()
    2.         with sentry_sdk.start_span(
    3.             op=OP.VIEW_RENDER,
    4.             name=request.resolver_match.view_name,
    5.             origin=DjangoIntegration.origin,
    6.         ):
    1.             return callback(request, *args, **kwargs)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.     return sentry_wrapped_callback
    Local vars
    Variable Value
    DjangoIntegration
    <class 'sentry_sdk.integrations.django.DjangoIntegration'>
    args
    ()
    callback
    <function View.as_view.<locals>.view at 0x7fdc0af02200>
    current_scope
    <Scope id=0x7fdc0abac9a0 name=None type=ScopeType.CURRENT>
    kwargs
    {'action': 'purchase'}
    request
    <WSGIRequest: POST '/operator/g/purchase/'>
    sentry_scope
    <Scope id=0x7fdc0abad030 name=wsgi type=ScopeType.ISOLATION>
  • /.venv/lib/python3.12/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
    {'action': 'purchase'}
    request
    <WSGIRequest: POST '/operator/g/purchase/'>
    view_func
    <function View.as_view.<locals>.view at 0x7fdc0c0ea0c0>
  • /.venv/lib/python3.12/site-packages/django/views/generic/base.py, line 105, in view
    1.             self = cls(**initkwargs)
    2.             self.setup(request, *args, **kwargs)
    3.             if not hasattr(self, "request"):
    4.                 raise AttributeError(
    5.                     "%s instance has no 'request' attribute. Did you override "
    6.                     "setup() and forget to call super()?" % cls.__name__
    7.                 )
    1.             return self.dispatch(request, *args, **kwargs)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.         view.view_class = cls
    2.         view.view_initkwargs = initkwargs
    3.         # __name__ and __qualname__ are intentionally left unchanged as
    4.         # view_class should be used to robustly determine the name of the view
    Local vars
    Variable Value
    args
    ()
    cls
    <class 'users.api.DiaFlowApiView'>
    initkwargs
    {}
    kwargs
    {'action': 'purchase'}
    request
    <WSGIRequest: POST '/operator/g/purchase/'>
    self
    <users.api.DiaFlowApiView object at 0x7fdc093b7b60>
  • /.venv/lib/python3.12/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 DiaFlowApiView.post of <users.api.DiaFlowApiView object at 0x7fdc093b7b60>>
    kwargs
    {'action': 'purchase'}
    request
    <rest_framework.request.Request: POST '/operator/g/purchase/'>
    self
    <users.api.DiaFlowApiView object at 0x7fdc093b7b60>
  • /.venv/lib/python3.12/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': {'action': 'purchase'},
     'request': <rest_framework.request.Request: POST '/operator/g/purchase/'>,
     'view': <users.api.DiaFlowApiView object at 0x7fdc093b7b60>}
    exc
    ValueError("Field 'id' expected a number but got '92d9a074-3a27-463a-9255-b8ba671df802'.")
    exception_handler
    <function exception_handler at 0x7fdc0bf1c360>
    response
    None
    self
    <users.api.DiaFlowApiView object at 0x7fdc093b7b60>
  • /.venv/lib/python3.12/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
    ValueError("Field 'id' expected a number but got '92d9a074-3a27-463a-9255-b8ba671df802'.")
    renderer_format
    'json'
    request
    <rest_framework.request.Request: POST '/operator/g/purchase/'>
    self
    <users.api.DiaFlowApiView object at 0x7fdc093b7b60>
    use_plaintext_traceback
    True
  • /.venv/lib/python3.12/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 DiaFlowApiView.post of <users.api.DiaFlowApiView object at 0x7fdc093b7b60>>
    kwargs
    {'action': 'purchase'}
    request
    <rest_framework.request.Request: POST '/operator/g/purchase/'>
    self
    <users.api.DiaFlowApiView object at 0x7fdc093b7b60>
  • /app/users/api.py, line 390, in post
    1.         if action == DiaflowActions.CREATE:
    2.             return DiaflowCreateAddMoneySerializer
    3.         return DiaflowAddMoneySerializer
    4.     def post(self, request, *args, **kwargs):
    5.         action = kwargs.get("action")
    1.         result = process_diaflow_action(
                            
    1.             action=action,
    2.             data=request.data,
    3.             processor=request.processor,
    4.         )
    5.         return Response(result, status=status.HTTP_201_CREATED)
    Local vars
    Variable Value
    action
    'purchase'
    args
    ()
    kwargs
    {'action': 'purchase'}
    request
    <rest_framework.request.Request: POST '/operator/g/purchase/'>
    self
    <users.api.DiaFlowApiView object at 0x7fdc093b7b60>
  • /app/users/api.py, line 296, in process_diaflow_action
    1.     serializer.is_valid(raise_exception=True)
    2.     payload = serializer.validated_data
    3.     operator_id = payload["operator_id"]
    4.     operator = get_object_or_404(
    5.         Operator, ewallet_user_id=operator_id, account_status="active",
    6.     )
    1.     operator_game = get_object_or_404(
                               
    1.         OperatorGame, id=payload["operator_game_id"], api_user=operator, processor=processor,
    2.     )
    3.     customer = None
    4.     if action == DiaflowActions.CREATE:
    5.         action_val = EapiTransaction.Action.CREATE_ADD
    Local vars
    Variable Value
    action
    'purchase'
    data
    {'amount': 10,
     'operator_game_id': '92d9a074-3a27-463a-9255-b8ba671df802',
     'operator_id': '73b83a81-0293-45ae-99ba-bdd7f3555aa4',
     'operator_wallet_id': '900100000000',
     'payment_provider_id': 'paypal',
     'player_game_user_id': '456',
     'player_wallet_id': '123'}
    operator
    <Operator: 167299>
    operator_id
    UUID('73b83a81-0293-45ae-99ba-bdd7f3555aa4')
    payload
    {'amount': Decimal('10.00'),
     'operator_game_id': '92d9a074-3a27-463a-9255-b8ba671df802',
     'operator_id': UUID('73b83a81-0293-45ae-99ba-bdd7f3555aa4'),
     'operator_wallet_id': '900100000000',
     'payment_provider_id': 'paypal',
     'player_game_user_id': '456',
     'player_wallet_id': '123'}
    processor
    <Processor: Leonardo>
    serializer
    DiaflowAddMoneySerializer(data={'operator_id': '73b83a81-0293-45ae-99ba-bdd7f3555aa4', 'operator_game_id': '92d9a074-3a27-463a-9255-b8ba671df802', 'operator_wallet_id': '900100000000', 'player_game_user_id': '456', 'player_wallet_id': '123', 'payment_provider_id': 'paypal', 'amount': 10}):
        operator_id = UUIDField()
        amount = DecimalField(decimal_places=2, max_digits=18, min_value=Decimal('0.01'))
        payment_provider_id = CharField()
        operator_wallet_id = CharField()
        player_wallet_id = CharField()
        operator_game_id = CharField()
        player_game_user_id = CharField()
    serializer_class
    <class 'users.serializers.DiaflowAddMoneySerializer'>
  • /.venv/lib/python3.12/site-packages/django/shortcuts.py, line 90, in get_object_or_404
    1.             klass.__name__ if isinstance(klass, type) else klass.__class__.__name__
    2.         )
    3.         raise ValueError(
    4.             "First argument to get_object_or_404() must be a Model, Manager, "
    5.             "or QuerySet, not '%s'." % klass__name
    6.         )
    7.     try:
    1.         return queryset.get(*args, **kwargs)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.     except queryset.model.DoesNotExist:
    2.         raise Http404(
    3.             "No %s matches the given query." % queryset.model._meta.object_name
    4.         )
    Local vars
    Variable Value
    args
    ()
    klass
    <class 'games.models.merchant_game.OperatorGame'>
    kwargs
    {'api_user': <Operator: 167299>,
     'id': '92d9a074-3a27-463a-9255-b8ba671df802',
     'processor': <Processor: Leonardo>}
    queryset
    <QuerySet [<OperatorGame: Dragon City>, <OperatorGame: Fortune 2 go>, <OperatorGame: Golden Dragon>, <OperatorGame: Magic City>, <OperatorGame: River Sweeps>, <OperatorGame: Ultra Panda>]>
  • /.venv/lib/python3.12/site-packages/django/db/models/query.py, line 619, in get
    1.         keyword arguments.
    2.         """
    3.         if self.query.combinator and (args or kwargs):
    4.             raise NotSupportedError(
    5.                 "Calling QuerySet.get(...) with filters after %s() is not "
    6.                 "supported." % self.query.combinator
    7.             )
    1.         clone = self._chain() if self.query.combinator else self.filter(*args, **kwargs)
                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.         if self.query.can_filter() and not self.query.distinct_fields:
    2.             clone = clone.order_by()
    3.         limit = None
    4.         if (
    5.             not clone.query.select_for_update
    6.             or connections[clone.db].features.supports_select_for_update_with_limit
    Local vars
    Variable Value
    args
    ()
    kwargs
    {'api_user': <Operator: 167299>,
     'id': '92d9a074-3a27-463a-9255-b8ba671df802',
     'processor': <Processor: Leonardo>}
    self
    <QuerySet [<OperatorGame: Dragon City>, <OperatorGame: Fortune 2 go>, <OperatorGame: Golden Dragon>, <OperatorGame: Magic City>, <OperatorGame: River Sweeps>, <OperatorGame: Ultra Panda>]>
  • /.venv/lib/python3.12/site-packages/django/db/models/query.py, line 1493, in filter
    1.     def filter(self, *args, **kwargs):
    2.         """
    3.         Return a new QuerySet instance with the args ANDed to the existing
    4.         set.
    5.         """
    6.         self._not_support_combined_queries("filter")
    1.         return self._filter_or_exclude(False, args, kwargs)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.     def exclude(self, *args, **kwargs):
    2.         """
    3.         Return a new QuerySet instance with NOT (args) ANDed to the existing
    4.         set.
    5.         """
    Local vars
    Variable Value
    args
    ()
    kwargs
    {'api_user': <Operator: 167299>,
     'id': '92d9a074-3a27-463a-9255-b8ba671df802',
     'processor': <Processor: Leonardo>}
    self
    <QuerySet [<OperatorGame: Dragon City>, <OperatorGame: Fortune 2 go>, <OperatorGame: Golden Dragon>, <OperatorGame: Magic City>, <OperatorGame: River Sweeps>, <OperatorGame: Ultra Panda>]>
  • /.venv/lib/python3.12/site-packages/django/db/models/query.py, line 1511, in _filter_or_exclude
    1.         if (args or kwargs) and self.query.is_sliced:
    2.             raise TypeError("Cannot filter a query once a slice has been taken.")
    3.         clone = self._chain()
    4.         if self._defer_next_filter:
    5.             self._defer_next_filter = False
    6.             clone._deferred_filter = negate, args, kwargs
    7.         else:
    1.             clone._filter_or_exclude_inplace(negate, args, kwargs)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.         return clone
    2.     def _filter_or_exclude_inplace(self, negate, args, kwargs):
    3.         if negate:
    4.             self._query.add_q(~Q(*args, **kwargs))
    5.         else:
    Local vars
    Variable Value
    args
    ()
    clone
    <QuerySet [<OperatorGame: Dragon City>, <OperatorGame: Fortune 2 go>, <OperatorGame: Golden Dragon>, <OperatorGame: Magic City>, <OperatorGame: River Sweeps>, <OperatorGame: Ultra Panda>]>
    kwargs
    {'api_user': <Operator: 167299>,
     'id': '92d9a074-3a27-463a-9255-b8ba671df802',
     'processor': <Processor: Leonardo>}
    negate
    False
    self
    <QuerySet [<OperatorGame: Dragon City>, <OperatorGame: Fortune 2 go>, <OperatorGame: Golden Dragon>, <OperatorGame: Magic City>, <OperatorGame: River Sweeps>, <OperatorGame: Ultra Panda>]>
  • /.venv/lib/python3.12/site-packages/django/db/models/query.py, line 1518, in _filter_or_exclude_inplace
    1.             clone._filter_or_exclude_inplace(negate, args, kwargs)
    2.         return clone
    3.     def _filter_or_exclude_inplace(self, negate, args, kwargs):
    4.         if negate:
    5.             self._query.add_q(~Q(*args, **kwargs))
    6.         else:
    1.             self._query.add_q(Q(*args, **kwargs))
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.     def complex_filter(self, filter_obj):
    2.         """
    3.         Return a new QuerySet instance with filter_obj added to the filters.
    4.         filter_obj can be a Q object or a dictionary of keyword lookup
    Local vars
    Variable Value
    args
    ()
    kwargs
    {'api_user': <Operator: 167299>,
     'id': '92d9a074-3a27-463a-9255-b8ba671df802',
     'processor': <Processor: Leonardo>}
    negate
    False
    self
    <QuerySet [<OperatorGame: Dragon City>, <OperatorGame: Fortune 2 go>, <OperatorGame: Golden Dragon>, <OperatorGame: Magic City>, <OperatorGame: River Sweeps>, <OperatorGame: Ultra Panda>]>
  • /.venv/lib/python3.12/site-packages/django/db/models/sql/query.py, line 1646, in add_q
    1.         existing_inner = {
    2.             a for a in self.alias_map if self.alias_map[a].join_type == INNER
    3.         }
    4.         if reuse_all:
    5.             can_reuse = set(self.alias_map)
    6.         else:
    7.             can_reuse = self.used_aliases
    1.         clause, _ = self._add_q(q_object, can_reuse)
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.         if clause:
    2.             self.where.add(clause, AND)
    3.         self.demote_joins(existing_inner)
    4.     def build_where(self, filter_expr):
    5.         return self.build_filter(filter_expr, allow_joins=False)[0]
    Local vars
    Variable Value
    can_reuse
    {'eapi_operator_games'}
    existing_inner
    set()
    q_object
    <Q: (AND: ('api_user', <Operator: 167299>), ('id', '92d9a074-3a27-463a-9255-b8ba671df802'), ('processor', <Processor: Leonardo>))>
    reuse_all
    False
    self
    <django.db.models.sql.query.Query object at 0x7fdc0a6de060>
  • /.venv/lib/python3.12/site-packages/django/db/models/sql/query.py, line 1678, in _add_q
    1.         current_negated ^= q_object.negated
    2.         branch_negated = branch_negated or q_object.negated
    3.         target_clause = WhereNode(connector=connector, negated=q_object.negated)
    4.         joinpromoter = JoinPromoter(
    5.             q_object.connector, len(q_object.children), current_negated
    6.         )
    7.         for child in q_object.children:
    1.             child_clause, needed_inner = self.build_filter(
                                                     
    1.                 child,
    2.                 can_reuse=used_aliases,
    3.                 branch_negated=branch_negated,
    4.                 current_negated=current_negated,
    5.                 allow_joins=allow_joins,
    6.                 split_subq=split_subq,
    Local vars
    Variable Value
    allow_joins
    True
    branch_negated
    False
    check_filterable
    True
    child
    ('id', '92d9a074-3a27-463a-9255-b8ba671df802')
    child_clause
    <WhereNode: (AND: RelatedExact(Col(eapi_operator_games, games.OperatorGame.api_user), UUID('73b83a81-0293-45ae-99ba-bdd7f3555aa4')))>
    connector
    'AND'
    current_negated
    False
    joinpromoter
    JoinPromoter(connector='AND', num_children=3, negated=False)
    needed_inner
    {'operators', 'eapi_operator_games'}
    q_object
    <Q: (AND: ('api_user', <Operator: 167299>), ('id', '92d9a074-3a27-463a-9255-b8ba671df802'), ('processor', <Processor: Leonardo>))>
    self
    <django.db.models.sql.query.Query object at 0x7fdc0a6de060>
    split_subq
    True
    summarize
    False
    target_clause
    <WhereNode: (AND: RelatedExact(Col(eapi_operator_games, games.OperatorGame.api_user), UUID('73b83a81-0293-45ae-99ba-bdd7f3555aa4')))>
    update_join_types
    True
    used_aliases
    {'eapi_operator_games'}
  • /.venv/lib/python3.12/site-packages/django/db/models/sql/query.py, line 1588, in build_filter
    1.             if len(targets) == 1:
    2.                 col = self._get_col(targets[0], join_info.final_field, alias)
    3.             else:
    4.                 col = ColPairs(alias, targets, join_info.targets, join_info.final_field)
    5.         else:
    6.             col = self._get_col(targets[0], join_info.final_field, alias)
    1.         condition = self.build_lookup(lookups, col, value)
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.         lookup_type = condition.lookup_name
    2.         clause = WhereNode([condition], connector=AND)
    3.         require_outer = (
    4.             lookup_type == "isnull" and condition.rhs is True and not current_negated
    5.         )
    Local vars
    Variable Value
    alias
    'eapi_operator_games'
    allow_joins
    True
    allow_many
    True
    arg
    'id'
    branch_negated
    False
    can_reuse
    {'eapi_operator_games'}
    check_filterable
    True
    col
    Col(eapi_operator_games, games.OperatorGame.id)
    current_negated
    False
    filter_expr
    ('id', '92d9a074-3a27-463a-9255-b8ba671df802')
    join_info
    JoinInfo(final_field=<django.db.models.fields.BigAutoField: id>, targets=(<django.db.models.fields.BigAutoField: id>,), opts=<Options for OperatorGame>, joins=['eapi_operator_games'], path=[], transform_function=<function Query.setup_joins.<locals>.final_transformer at 0x7fdc0938b2e0>)
    join_list
    ['eapi_operator_games']
    lookups
    []
    opts
    <Options for OperatorGame>
    parts
    ['id']
    pre_joins
    {'eapi_operator_games': 1, 'operators': 0}
    reffed_expression
    False
    self
    <django.db.models.sql.query.Query object at 0x7fdc0a6de060>
    split_subq
    True
    summarize
    False
    targets
    (<django.db.models.fields.BigAutoField: id>,)
    update_join_types
    True
    used_joins
    {'eapi_operator_games'}
    value
    '92d9a074-3a27-463a-9255-b8ba671df802'
  • /.venv/lib/python3.12/site-packages/django/db/models/sql/query.py, line 1415, in build_lookup
    1.             # and do an Exact lookup against it.
    2.             lhs = self.try_transform(lhs, lookup_name)
    3.             lookup_name = "exact"
    4.             lookup_class = lhs.get_lookup(lookup_name)
    5.             if not lookup_class:
    6.                 return
    1.         lookup = lookup_class(lhs, rhs)
                             ^^^^^^^^^^^^^^^^^^^^^^
    1.         # Interpret '__exact=None' as the sql 'is NULL'; otherwise, reject all
    2.         # uses of None as a query value unless the lookup supports it.
    3.         if lookup.rhs is None and not lookup.can_use_none_as_rhs:
    4.             if lookup_name not in ("exact", "iexact"):
    5.                 raise ValueError("Cannot use None as a query value")
    6.             return lhs.get_lookup("isnull")(lhs, True)
    Local vars
    Variable Value
    lhs
    Col(eapi_operator_games, games.OperatorGame.id)
    lookup_class
    <class 'django.db.models.lookups.IntegerFieldExact'>
    lookup_name
    'exact'
    lookups
    []
    rhs
    '92d9a074-3a27-463a-9255-b8ba671df802'
    self
    <django.db.models.sql.query.Query object at 0x7fdc0a6de060>
    transforms
    []
  • /.venv/lib/python3.12/site-packages/django/db/models/lookups.py, line 38, in __init__
    1. class Lookup(Expression):
    2.     lookup_name = None
    3.     prepare_rhs = True
    4.     can_use_none_as_rhs = False
    5.     def __init__(self, lhs, rhs):
    6.         self.lhs, self.rhs = lhs, rhs
    1.         self.rhs = self.get_prep_lookup()
                             ^^^^^^^^^^^^^^^^^^^^^^
    1.         self.lhs = self.get_prep_lhs()
    2.         if hasattr(self.lhs, "get_bilateral_transforms"):
    3.             bilateral_transforms = self.lhs.get_bilateral_transforms()
    4.         else:
    5.             bilateral_transforms = []
    6.         if bilateral_transforms:
    Local vars
    Variable Value
    lhs
    Col(eapi_operator_games, games.OperatorGame.id)
    rhs
    '92d9a074-3a27-463a-9255-b8ba671df802'
    self
    IntegerFieldExact(Col(eapi_operator_games, games.OperatorGame.id), '92d9a074-3a27-463a-9255-b8ba671df802')
  • /.venv/lib/python3.12/site-packages/django/db/models/lookups.py, line 410, in get_prep_lookup
    1.                 raise ValueError(
    2.                     f"The QuerySet value for the exact lookup must have {lhs_len} "
    3.                     f"selected fields (received {rhs_len})"
    4.                 )
    5.             if not query.has_select_fields:
    6.                 query.clear_select_clause()
    7.                 query.add_fields(["pk"])
    1.         return super().get_prep_lookup()
                          ^^^^^^^^^^^^^^^^^^^^^^^^^
    1.     def as_sql(self, compiler, connection):
    2.         # Avoid comparison against direct rhs if lhs is a boolean value. That
    3.         # turns "boolfield__exact=True" into "WHERE boolean_field" instead of
    4.         # "WHERE boolean_field = True" when allowed.
    5.         if (
    Local vars
    Variable Value
    Query
    <class 'django.db.models.sql.query.Query'>
    __class__
    <class 'django.db.models.lookups.Exact'>
    query
    '92d9a074-3a27-463a-9255-b8ba671df802'
    self
    IntegerFieldExact(Col(eapi_operator_games, games.OperatorGame.id), '92d9a074-3a27-463a-9255-b8ba671df802')
  • /.venv/lib/python3.12/site-packages/django/db/models/lookups.py, line 96, in get_prep_lookup
    1.             self.lhs, self.rhs = new_exprs
    2.     def get_prep_lookup(self):
    3.         if not self.prepare_rhs or hasattr(self.rhs, "resolve_expression"):
    4.             return self.rhs
    5.         if hasattr(self.lhs, "output_field"):
    6.             if hasattr(self.lhs.output_field, "get_prep_value"):
    1.                 return self.lhs.output_field.get_prep_value(self.rhs)
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.         elif self.rhs_is_direct_value():
    2.             return Value(self.rhs)
    3.         return self.rhs
    4.     def get_prep_lhs(self):
    5.         if hasattr(self.lhs, "resolve_expression"):
    Local vars
    Variable Value
    self
    IntegerFieldExact(Col(eapi_operator_games, games.OperatorGame.id), '92d9a074-3a27-463a-9255-b8ba671df802')
  • /.venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py, line 2130, in get_prep_value
    1.     def get_prep_value(self, value):
    2.         value = super().get_prep_value(value)
    3.         if value is None:
    4.             return None
    5.         try:
    6.             return int(value)
    7.         except (TypeError, ValueError) as e:
    1.             raise e.__class__(
                        ^^^^^^^^
    1.                 "Field '%s' expected a number but got %r." % (self.name, value),
    2.             ) from e
    3.     def get_db_prep_value(self, value, connection, prepared=False):
    4.         value = super().get_db_prep_value(value, connection, prepared)
    5.         return connection.ops.adapt_integerfield_value(value, self.get_internal_type())
    Local vars
    Variable Value
    __class__
    <class 'django.db.models.fields.IntegerField'>
    self
    <django.db.models.fields.BigAutoField: id>
    value
    '92d9a074-3a27-463a-9255-b8ba671df802'


Request information

USER

AnonymousUser

GET

No GET data

POST

No POST data

FILES

No FILES data

No cookie data

META

Variable Value
ALLOWED_HOSTS
('sandbox.playegamesnow.com, platform-back-test-1.igamewallets.app, '
 'platform-back-test-2.igamewallets.app')
AZURE_ACCOUNT_KEY
'********************'
AZURE_ACCOUNT_NAME
'uatplatform17028'
AZURE_ADDITIONALLY_ALLOWED_TENANTS
'*'
AZURE_CLIENT_ID
'b42947d6-24be-408f-ba71-fe121a3b73e9'
AZURE_CLIENT_SECRET
'********************'
AZURE_COMMUNICATION_STR
'endpoint=https://ewallet-notificator.unitedstates.communication.azure.com/;accesskey=kJTi7e54awS8JB/I118z6z8WMkf2Gl6AtStXr3FMwt1qd305f5Lz5pkm7fmUIi9ptS3IdwkXQJTx5Ump4mbJ5Q=='
AZURE_MEDIA_CONTAINER
'publiccontainer'
AZURE_PUBLIC_CONTAINER_BASE_URL
'https://uatplatform17028.blob.core.windows.net/publiccontainer'
AZURE_PUBLIC_CONTAINER_NAME
'publiccontainer'
AZURE_STORAGE_ACCOUNT_NAME
'uatplatform17028'
AZURE_TENANT_ID
'283542f9-9490-4d1c-8652-a94b27a4a9fc'
B2C_ACCOUNT_NAME
'egamewalletuat'
B2C_APP_CLIENT_ID
'f807cef5-cc55-49b8-b9e5-df9db49a2040'
B2C_APP_CLIENT_SECRET
'********************'
B2C_EXTENSIONS_APP_CLIENT_ID
'6e7fb3e1-0ae9-4f7b-824d-d1c0b9be49ad'
B2C_TENANT_ID
'172d86fc-2896-41d2-9d18-a9fa3325ebf5'
B2C_TENANT_NAME
'egamewalletuat.onmicrosoft.com'
B2C_USER_FLOW_AUTHORITY_NAME
'********************'
CONTENT_LENGTH
'244'
CONTENT_TYPE
'application/json'
COSMOS_BACKOFFICE_KEY
'********************'
COSMOS_BACKOFFICE_URI
'https://cosmosdb-backoffice-ewallet-uat-17028.documents.azure.com:443/'
COSMOS_USERS_TABLE_KEY
'********************'
COSMOS_USERS_TABLE_URI
'https://cosmosdb-user-table-ewallet-uat-17028.documents.azure.com:443/'
CSRF_TRUSTED_ORIGINS
('https://sandbox.playegamesnow.com, '
 'http://platform-back-test-1.igamewallets.app, '
 'https://platform-back-test-2.igamewallets.app')
CURRENT_ENV
'uat'
DEBUG
'true'
DEFAULT_SENDER_ADDRESS
'DoNotReply@igamewallets.app'
DEFAULT_SMS_FROM_PHONE
'+18666252573'
DIAFLOW_HMAC_SECRET
'********************'
DJANGO_SETTINGS_MODULE
'ewallet_platform.settings'
DOCKER_ROOT_PATH
'control-plane/app/platform-back/docker'
EMAIL_OWNER_ADDRESS
'owner@example.com'
EWALLET_ACCESS_KEY_ID
'********************'
EWALLET_ADMIN_POSTGRES_DB_NAME
'admin'
EWALLET_ADMIN_POSTGRES_PASSWORD
'********************'
EWALLET_ADMIN_POSTGRES_PORT
'5432'
EWALLET_ADMIN_POSTGRES_SERVER_URI
'psql-ewallet-uat-lzecf.postgres.database.azure.com'
EWALLET_ADMIN_POSTGRES_USER
'platform_app'
EWALLET_API_BASE_URL
'********************'
EWALLET_FORGOT_PASSWORD_LINK
'********************'
EWALLET_HMAC_SECRET
'********************'
EWALLET_REGISTRATION_LINK
'https://uat.egamewallet.com/account/home'
EWALLET_TOLERANCE_SECONDS
'300'
GATEWAY_INTERFACE
'CGI/1.1'
GPG_KEY
'********************'
GP_KEY_VAULT_URL
'********************'
HOME
'/home/python'
HOSTNAME
'platform-back-6568975d4-l4gdz'
HTTP_ACCEPT
'*/*'
HTTP_ACCEPT_ENCODING
'gzip'
HTTP_AUTHORIZATION
'********************'
HTTP_HOST
'sandbox.playegamesnow.com'
HTTP_VIA
'HTTP/1.1 Azure'
HTTP_X_AZURE_CLIENTIP
'2600:1f14:3a80:230a:b019:d912:3cbc:aa6'
HTTP_X_AZURE_FDID
'9b0d0038-e609-46e1-a502-7e6db5d145f7'
HTTP_X_AZURE_JA4_FINGERPRINT
't13d3113h1_e8f1e7e78f70_ce5650b735ce'
HTTP_X_AZURE_REF
'20260526T153831Z-r1dc8ff76dc7pn5thC1CO1022000000000vg000000001w0z'
HTTP_X_AZURE_REQUESTCHAINV2
'hops=1'
HTTP_X_AZURE_SOCKETIP
'2600:1f14:3a80:230a:b019:d912:3cbc:aa6'
HTTP_X_FORWARDED_FOR
'10.244.4.1'
HTTP_X_FORWARDED_HOST
'sandbox.playegamesnow.com'
HTTP_X_FORWARDED_PORT
'443'
HTTP_X_FORWARDED_PROTO
'https'
HTTP_X_FORWARDED_SERVER
'traefik-5f7b4fc578-kb6w9'
HTTP_X_INGRESS_NAME
'platform-back-test'
HTTP_X_REAL_IP
'10.244.4.1'
KEY_VAULT_URL
'********************'
KUBERNETES_PORT
'tcp://10.0.0.1:443'
KUBERNETES_PORT_443_TCP
'tcp://10.0.0.1:443'
KUBERNETES_PORT_443_TCP_ADDR
'10.0.0.1'
KUBERNETES_PORT_443_TCP_PORT
'443'
KUBERNETES_PORT_443_TCP_PROTO
'tcp'
KUBERNETES_SERVICE_HOST
'10.0.0.1'
KUBERNETES_SERVICE_PORT
'443'
KUBERNETES_SERVICE_PORT_HTTPS
'443'
LANG
'C.UTF-8'
MFA_TEST_CODE
'293651'
PATH
'/.venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
PATH_INFO
'/operator/g/purchase/'
PGDATABASE
'platform'
PGHOST
'platform-uat-17028.postgres.database.azure.com'
PGPASSWORD
'********************'
PGPORT
'5432'
PGUSER
'postgres'
PLATFORM_BACK_PORT
'tcp://10.0.20.194:80'
PLATFORM_BACK_PORT_80_TCP
'tcp://10.0.20.194:80'
PLATFORM_BACK_PORT_80_TCP_ADDR
'10.0.20.194'
PLATFORM_BACK_PORT_80_TCP_PORT
'80'
PLATFORM_BACK_PORT_80_TCP_PROTO
'tcp'
PLATFORM_BACK_SERVICE_HOST
'10.0.20.194'
PLATFORM_BACK_SERVICE_PORT
'80'
PLATFORM_BACK_SERVICE_PORT_HTTP
'80'
POETRY_VERSION
'2.1.0'
PYTHON_SHA256
'c30bb24b7f1e9a19b11b55a546434f74e739bb4c271a3e3a80ff4380d49f7adb'
PYTHON_VERSION
'3.12.11'
QUERY_STRING
''
REMOTE_ADDR
'10.244.4.34'
REMOTE_HOST
''
REQUEST_METHOD
'POST'
SALES_EMAIL_LIST
'["reti.retik@gmail.com","ak@kodo.software","vl@kodo.software"]'
SCRIPT_NAME
''
SENTRY_DEBUG
'0'
SENTRY_DSN
'https://ac4c6244bd9dfa683b9eb7fb6bccd6f3@o4510116102406144.ingest.de.sentry.io/4510329838305360'
SENTRY_PROFILES
'1.0'
SENTRY_TRACES
'1.0'
SERVER_NAME
'platform-back-6568975d4-l4gdz'
SERVER_PORT
'8003'
SERVER_PROTOCOL
'HTTP/1.1'
SERVER_SOFTWARE
'WSGIServer/0.2'
TZ
'UTC'
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 0x7fdc093ae260>
wsgi.multiprocess
False
wsgi.multithread
True
wsgi.run_once
False
wsgi.url_scheme
'http'
wsgi.version
(1, 0)

Settings

Using settings module ewallet_platform.settings

Setting Value
ABSOLUTE_URL_OVERRIDES
{}
ADMINS
[]
ALLOWED_HOSTS
['*']
APPEND_SLASH
True
AUTHENTICATION_BACKENDS
'********************'
AUTH_PASSWORD_VALIDATORS
'********************'
AUTH_USER_MODEL
'********************'
AZURE_ACCOUNT_KEY
'********************'
AZURE_ACCOUNT_NAME
'uatplatform17028'
AZURE_ADDITIONALLY_ALLOWED_TENANTS
'*'
AZURE_CLIENT_ID
'b42947d6-24be-408f-ba71-fe121a3b73e9'
AZURE_CLIENT_SECRET
'********************'
AZURE_COMMUNICATION_STR
'endpoint=https://ewallet-notificator.unitedstates.communication.azure.com/;accesskey=kJTi7e54awS8JB/I118z6z8WMkf2Gl6AtStXr3FMwt1qd305f5Lz5pkm7fmUIi9ptS3IdwkXQJTx5Ump4mbJ5Q=='
AZURE_MEDIA_CONTAINER
'publiccontainer'
AZURE_TENANT_ID
'283542f9-9490-4d1c-8652-a94b27a4a9fc'
BASE_DIR
PosixPath('/app')
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS
'default'
CACHE_MIDDLEWARE_KEY_PREFIX
'********************'
CACHE_MIDDLEWARE_SECONDS
600
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://sandbox.playegamesnow.com',
 'http://platform-back-test-1.igamewallets.app',
 'https://platform-back-test-2.igamewallets.app']
CSRF_USE_SESSIONS
False
CURRENT_ENV
'uat'
DATABASES
{'default': {'ATOMIC_REQUESTS': False,
             'AUTOCOMMIT': True,
             'CONN_HEALTH_CHECKS': False,
             'CONN_MAX_AGE': 0,
             'ENGINE': 'django.db.backends.postgresql',
             'HOST': 'platform-uat-17028.postgres.database.azure.com',
             'NAME': 'platform',
             'OPTIONS': {'sslmode': 'require'},
             'PASSWORD': '********************',
             'PORT': '5432',
             'TEST': {'CHARSET': None,
                      'COLLATION': None,
                      'MIGRATE': True,
                      'MIRROR': None,
                      'NAME': None},
             'TIME_ZONE': None,
             'USER': 'postgres'}}
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']
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_FILE_STORAGE
'ewallet_platform.storage_backends.AzureMediaStorage'
DEFAULT_FROM_EMAIL
'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE
''
DEFAULT_SENDER_ADDRESS
'DoNotReply@igamewallets.app'
DEFAULT_SMS_FROM_PHONE
'+18666252573'
DEFAULT_TABLESPACE
''
DIAFLOW_HMAC_SECRET
'********************'
DIAFLOW_SANDBOX_MODE
True
DISALLOWED_USER_AGENTS
[]
EMAIL_BACKEND
'django.core.mail.backends.smtp.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'
GP_KEY_VAULT_URL
'********************'
IGNORABLE_404_URLS
[]
INSTALLED_APPS
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'users.apps.UsersConfig',
 'processors.apps.ProcessorsConfig',
 'games',
 'transactions',
 'seosettings',
 'rest_framework',
 'drf_yasg',
 'storages']
INTERNAL_IPS
[]
KEY_VAULT_URL
'********************'
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,
 'handlers': {'console': {'class': 'logging.StreamHandler'}},
 'loggers': {'users': {'handlers': ['console'],
                       'level': 'INFO',
                       'propagate': False}},
 'root': {'handlers': ['console'], 'level': 'INFO'},
 '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
'https://uatplatform17028.blob.core.windows.net/publiccontainer/'
MESSAGE_STORAGE
'django.contrib.messages.storage.fallback.FallbackStorage'
MFA_TEST_CODE
'293651'
MIDDLEWARE
['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': '********************'}
ROOT_URLCONF
'ewallet_platform.urls'
SALES_EMAIL_LIST
['[reti.retik@gmail.com', 'ak@kodo.software', 'vl@kodo.software]']
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
'ewallet_platform.settings'
SHORT_DATETIME_FORMAT
'm/d/Y P'
SHORT_DATE_FORMAT
'm/d/Y'
SIGNING_BACKEND
'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS
[]
STATICFILES_DIRS
[PosixPath('/app/static')]
STATICFILES_FINDERS
['django.contrib.staticfiles.finders.FileSystemFinder',
 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATIC_ROOT
None
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': [PosixPath('/app/templates')],
  '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
'ewallet_platform.wsgi.application'
X_FRAME_OPTIONS
'DENY'
YEAR_MONTH_FORMAT
'F Y'
05/26/2026 11:38:32 EDT - 74.110.227.200 - post response decoded = NULL