oTree Forum >

Sqlalchemy error/failed to connect to server when

#1 by Jo_ker23x

so i had rewrite or cast the expression error only when i clicked the data section where it gives me the failed to connect to server. The demos works with no error. I updated the table and still get the failed to connect to server but i get sqlalchemy.exc.InvalidRequestError: SQL expression, column, or mapped entity expected - got '1' error now.


Original error
Failed to create session: (psycopg2.errors.DatatypeMismatch) column "_created" is of type timestamp without time zone but expression is of type numeric LINE 3: ...LL, '', false, NULL, 'vitovaju', true, '', '', 2, 1727151818... ^ HINT: You will need to rewrite or cast the expression. [SQL: INSERT INTO otree_session (_vars, config, label, code, "mturk_HITId", "mturk_HITGroupId", is_mturk, mturk_use_sandbox, mturk_expiration, mturk_qual_id, archived, comment, _anonymous_code, is_demo, _admin_report_app_names, _admin_report_num_rounds, num_participants, _created) VALUES (%(_vars)s, %(config)s, %(label)s, %(code)s, %(mturk_HITId)s, %(mturk_HITGroupId)s, %(is_mturk)s, %(mturk_use_sandbox)s, %(mturk_expiration)s, %(mturk_qual_id)s, %(archived)s, %(comment)s, %(_anonymous_code)s, %(is_demo)s, %(_admin_report_app_names)s, %(_admin_report_num_rounds)s, %(num_participants)s, %(_created)s) RETURNING otree_session.id] [parameters: {'_vars': 'gAR9lC4=\n', 'config': 'gASVPQEAAAAAAAB9lCiMHXJlYWxfd29ybGRfY3VycmVuY3lfcGVyX3BvaW50lEsBjBFwYXJ0aWNpcGF0aW9uX2ZlZZSMDm90cmVlLmN1cnJlbmN5lIwRUmVhbFdvcmxkQ3VycmVuY3mUk5SMBDAuM ... (144 characters truncated) ... mRvbV90cmVhdG1lbnSUiIwJdHJlYXRtZW50lEsBjAxhcHBfc2VxdWVuY2WUXZQojA1Bbm5vdW5jZW1lbnQylIwNUHVibGljX0dvb2RzMpRljAxkaXNwbGF5X25hbWWUaAqMA2RvY5SMAJR1Lg==\n', 'label': '', 'code': '7jjsqvbn', 'mturk_HITId': None, 'mturk_HITGroupId': None, 'is_mturk': False, 'mturk_use_sandbox': True, 'mturk_expiration': None, 'mturk_qual_id': '', 'archived': False, 'comment': None, '_anonymous_code': 'vitovaju', 'is_demo': True, '_admin_report_app_names': '', '_admin_report_num_rounds': '', 'num_participants': 2, '_created': 1727151818.6786416}] (Background on this error at: http://sqlalche.me/e/13/f405) Traceback (most recent call last): File "/app/.heroku/python/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context self.dialect.do_execute( File "/app/.heroku/python/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 609, in do_execute cursor.execute(statement, parameters) psycopg2.errors.DatatypeMismatch: column "_created" is of type timestamp without time zone but expression is of type numeric LINE 3: ...LL, '', false, NULL, 'vitovaju', true, '', '', 2, 1727151818... ^ HINT: You will need to rewrite or cast the expression. The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/app/.heroku/python/lib/python3.10/site-packages/otree/session.py", line 447, in create_session_traceback_wrapper return create_session(**kwargs) File "/app/.heroku/python/lib/python3.10/site-packages/otree/session.py", line 292, in create_session db.commit() File "/app/.heroku/python/lib/python3.10/site-packages/otree/database.py", line 187, in commit return self._db.commit() File "/app/.heroku/python/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 1046, in commit self.transaction.commit() File "/app/.heroku/python/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 504, in commit self._prepare_impl() File "/app/.heroku/python/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 483, in _prepare_impl self.session.flush() File "/app/.heroku/python/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2540, in flush self._flush(objects) File "/app/.heroku/python/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2681, in _flush with util.safe_reraise(): File "/app/.heroku/python/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 68, in __exit__ compat.raise_( File "/app/.heroku/python/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 182, in raise_ raise exception File "/app/.heroku/python/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2642, in _flush flush_context.execute() File "/app/.heroku/python/lib/python3.10/site-packages/sqlalchemy/orm/unitofwork.py", line 422, in execute rec.execute(self) File "/app/.heroku/python/lib/python3.10/site-packages/sqlalchemy/orm/unitofwork.py", line 586, in execute persistence.save_obj( File "/app/.heroku/python/lib/python3.10/site-packages/sqlalchemy/orm/persistence.py", line 239, in save_obj _emit_insert_statements( File "/app/.heroku/python/lib/python3.10/site-packages/sqlalchemy/orm/persistence.py", line 1135, in _emit_insert_statements result = cached_connections[connection].execute( File "/app/.heroku/python/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1011, in execute return meth(self, multiparams, params) File "/app/.heroku/python/lib/python3.10/site-packages/sqlalchemy/sql/elements.py", line 298, in _execute_on_connection return connection._execute_clauseelement(self, multiparams, params) File "/app/.heroku/python/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1124, in _execute_clauseelement ret = self._execute_context( File "/app/.heroku/python/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1316, in _execute_context self._handle_dbapi_exception( File "/app/.heroku/python/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1510, in _handle_dbapi_exception util.raise_( File "/app/.heroku/python/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 182, in raise_ raise exception File "/app/.heroku/python/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context self.dialect.do_execute( File "/app/.heroku/python/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 609, in do_execute cursor.execute(statement, parameters) sqlalchemy.exc.ProgrammingError: (psycopg2.errors.DatatypeMismatch) column "_created" is of type timestamp without time zone but expression is of type numeric LINE 3: ...LL, '', false, NULL, 'vitovaju', true, '', '', 2, 1727151818... ^ HINT: You will need to rewrite or cast the expression. [SQL: INSERT INTO otree_session (_vars, config, label, code, "mturk_HITId", "mturk_HITGroupId", is_mturk, mturk_use_sandbox, mturk_expiration, mturk_qual_id, archived, comment, _anonymous_code, is_demo, _admin_report_app_names, _admin_report_num_rounds, num_participants, _created) VALUES (%(_vars)s, %(config)s, %(label)s, %(code)s, %(mturk_HITId)s, %(mturk_HITGroupId)s, %(is_mturk)s, %(mturk_use_sandbox)s, %(mturk_expiration)s, %(mturk_qual_id)s, %(archived)s, %(comment)s, %(_anonymous_code)s, %(is_demo)s, %(_admin_report_app_names)s, %(_admin_report_num_rounds)s, %(num_participants)s, %(_created)s) RETURNING otree_session.id] [parameters: {'_vars': 'gAR9lC4=\n', 'config': 'gASVPQEAAAAAAAB9lCiMHXJlYWxfd29ybGRfY3VycmVuY3lfcGVyX3BvaW50lEsBjBFwYXJ0aWNpcGF0aW9uX2ZlZZSMDm90cmVlLmN1cnJlbmN5lIwRUmVhbFdvcmxkQ3VycmVuY3mUk5SMBDAuM ... (144 characters truncated) ... mRvbV90cmVhdG1lbnSUiIwJdHJlYXRtZW50lEsBjAxhcHBfc2VxdWVuY2WUXZQojA1Bbm5vdW5jZW1lbnQylIwNUHVibGljX0dvb2RzMpRljAxkaXNwbGF5X25hbWWUaAqMA2RvY5SMAJR1Lg==\n', 'label': '', 'code': '7jjsqvbn', 'mturk_HITId': None, 'mturk_HITGroupId': None, 'is_mturk': False, 'mturk_use_sandbox': True, 'mturk_expiration': None, 'mturk_qual_id': '', 'archived': False, 'comment': None, '_anonymous_code': 'vitovaju', 'is_demo': True, '_admin_report_app_names': '', '_admin_report_num_rounds': '', 'num_participants': 2, '_created': 1727151818.6786416}] (Background on this error at: http://sqlalche.me/e/13/f405)


Original table
ssp-lab::DATABASE=> \d otree_session
                                               Table "public.otree_session"    
          Column          |            Type             | Collation | Nullable |                  Default
--------------------------+-----------------------------+-----------+----------+-------------------------------------------
 id                       | integer                     |           | not null | nextval('otree_session_id_seq'::regclass)
 _vars                    | text                        |           |          |

 config                   | text                        |           |          |

 label                    | character varying           |           |          |

 code                     | character varying(16)       |           | not null |

 mturk_HITId              | character varying(300)      |           |          |
 mturk_HITGroupId         | character varying(300)      |           |          |
 is_mturk                 | boolean                     |           |          |
 mturk_use_sandbox        | boolean                     |           |          |
 mturk_expiration         | double precision            |           |          |
 mturk_qual_id            | character varying(50)       |           |          |
 archived                 | boolean                     |           |          |
 comment                  | text                        |           |          |
 _anonymous_code          | character varying(20)       |           | not null |
 is_demo                  | boolean                     |           |          |
 _admin_report_app_names  | text                        |           |          |
 _admin_report_num_rounds | character varying(255)      |           |          |
 num_participants         | integer                     |           |          |
 _created                 | timestamp without time zone |           |          |
 
 
 New error
PS C:\OS-Final-Project-2\SocLab-Main> otree devserver
Open your browser to http://localhost:8000/
To quit the server, press Control+C.

settings.py changed, restarting
Exception in ASGI application
Traceback (most recent call last):
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 396, in run_asgi
    result = await app(self.scope, self.receive, self.send)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\uvicorn\middleware\proxy_headers.py", line 45, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\starlette\applications.py", line 112, in __call__
    await self.middleware_stack(scope, receive, send)
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\starlette\middleware\base.py", line 26, in __call__
    await response(scope, receive, send)
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\starlette\responses.py", line 224, in __call__
    await run_until_first_complete(
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\starlette\concurrency.py", line 24, in run_until_first_complete
    [task.result() for task in done]
     ^^^^^^^^^^^^^
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\starlette\responses.py", line 216, in stream_response
    async for chunk in self.body_iterator:
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\starlette\middleware\base.py", line 56, in body_stream
    task.result()
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\starlette\middleware\base.py", line 38, in coro
    await self.app(scope, receive, send)
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\otree\errorpage.py", line 247, in __call__
    raise exc  # from None
    ^^^^^^^^^
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\otree\errorpage.py", line 227, in __call__
    await self.app(scope, receive, _send)
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\starlette\middleware\base.py", line 25, in __call__
    response = await self.dispatch_func(request, self.call_next)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\otree\middleware.py", line 42, in dispatch
    response = await call_next(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\starlette\middleware\base.py", line 45, in call_next
    task.result()
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\starlette\middleware\base.py", line 38, in coro
    await self.app(scope, receive, send)
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\starlette\middleware\sessions.py", line 75, in __call__
    await self.app(scope, receive, send_wrapper)
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\otree\patch.py", line 41, in __call__
    raise exc  # from None
    ^^^^^^^^^
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\otree\patch.py", line 29, in __call__
    await self.app(scope, receive, sender)
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\starlette\routing.py", line 582, in __call__
    await route.handle(scope, receive, send)
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\starlette\routing.py", line 243, in handle
    await self.app(scope, receive, send)
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\otree\views\cbv.py", line 45, in dispatch
    response = await run_in_threadpool(self.inner_dispatch, request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\starlette\concurrency.py", line 40, in run_in_threadpool
    return await loop.run_in_executor(None, func, *args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\concurrent\futures\thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\otree\views\cbv.py", line 152, in inner_dispatch
    return super().inner_dispatch(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\otree\views\cbv.py", line 66, in inner_dispatch
    return self.get(request, **request.path_params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\otree\views\admin.py", line 256, in get
    rows = list(export.get_rows_for_data_tab(self.session))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\otree\export.py", line 389, in get_rows_for_data_tab
    yield from get_rows_for_data_tab_app(session, app_name)
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\otree\export.py", line 406, in get_rows_for_data_tab_app
    groups = {g['id']: g for g in Group.values_dicts(session=session)}
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\otree\database.py", line 411, in values_dicts
    return [dict(zip(names, row)) for row in query.with_entities(*fields)]
                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 2, in with_entities
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\orm\base.py", line 227, in generate
    fn(self, *args[1:], **kw)
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\orm\query.py", line 1573, in with_entities
    self._set_entities(entities)
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\orm\query.py", line 223, in _set_entities
    entity_wrapper(self, ent)
  File "C:\Users\willi\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\orm\query.py", line 4720, in __init__
    raise sa_exc.InvalidRequestError(
sqlalchemy.exc.InvalidRequestError: SQL expression, column, or mapped entity expected - got '1'

New table
Table "public.otree_session"
          Column          |          Type          | Collation | Nullable |                  Default
--------------------------+------------------------+-----------+----------+-------------------------------------------
 id                       | integer                |           | not null | nextval('otree_session_id_seq'::regclass)
 _vars                    | text                   |           |          |
 config                   | text                   |           |          |
 label                    | character varying      |           |          |
 code                     | character varying(16)  |           | not null |
 mturk_HITId              | character varying(300) |           |          |
 mturk_HITGroupId         | character varying(300) |           |          |
 is_mturk                 | boolean                |           |          |
 mturk_use_sandbox        | boolean                |           |          |
 mturk_expiration         | double precision       |           |          |
 mturk_qual_id            | character varying(50)  |           |          |
 archived                 | boolean                |           |          |
 comment                  | text                   |           |          |
 _anonymous_code          | character varying(20)  |           | not null |
 is_demo                  | boolean                |           |          |
 _admin_report_app_names  | text                   |           |          |
 _admin_report_num_rounds | character varying(255) |           |          |
 num_participants         | integer                |           |          |
 _created                 | integer                |           |          |

#2 by lily (edited )

Hello! I am having the same problem as your original error. Did you end up finding a solution to this? Thank you a lot!

Write a reply

Set forum username