WeChall User

    DB-Error: Cannot add or update a child row: a foreign key constraint fails (`pygdo`.`gdo_usersetting`, CONSTRAINT `GDO__FK__gdo_usersetting__uset_user` FOREIGN KEY (`uset_user`) REFERENCES `gdo_user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE)
    Query:
    INSERT INTO gdo_usersetting (uset_user,uset_key,uset_val) VALUES ('0','profile_views','1')
    
    
    ╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
    │ /home/gizmore/www/pygdo/gdo/base/Database.py:82 in query                                         │
    │                                                                                                  │
    │    79 │   │   │   self.debug_query(query, debug)                                                 │
    │    80 │   │   │   #PYPP#END#                                                                     │
    │    81 │   │   │   cursor = self.cursor(False)                                                    │
    │ ❱  82 │   │   │   cursor.execute(query)                                                          │
    │    83 │   │   │   return cursor                                                                  │
    │    84 │   │   except (ProgrammingError, DatabaseError, IntegrityError) as ex:                    │
    │    85 │   │   │   Logger.exception(ex, "Database.query")                                         │
    │                                                                                                  │
    │ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
    │ │ cursor =                │ │
    │ │  debug = False                                                                               │ │
    │ │   link =                │ │
    │ │  query = "INSERT INTO gdo_usersetting (uset_user,uset_key,uset_val) VALUES                   │ │
    │ │          ('0','profile_v"+10                                                                 │ │
    │ │   self =                                │ │
    │ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
    │                                                                                                  │
    │ /home/gizmore/.pyenv/versions/3.14.7/lib/python3.14/site-packages/mysql/connector/cursor.py:551  │
    │ in execute                                                                                       │
    │                                                                                                  │
    │    548 │   │   │   return self._execute_iter(self._connection.cmd_query_iter(stmt))              │
    │    549 │   │   else:                                                                             │
    │    550 │   │   │   try:                                                                          │
    │ ❱  551 │   │   │   │   self._handle_result(self._connection.cmd_query(stmt))                     │
    │    552 │   │   │   except errors.InterfaceError:                                                 │
    │    553 │   │   │   │   if self._connection._have_next_result:  # pylint: disable=W0212           │
    │    554 │   │   │   │   │   raise errors.InterfaceError(                                          │
    │                                                                                                  │
    │ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
    │ │     multi = False                                                                            │ │
    │ │ operation = "INSERT INTO gdo_usersetting (uset_user,uset_key,uset_val) VALUES                │ │
    │ │             ('0','profile_v"+10                                                              │ │
    │ │    params = None                                                                             │ │
    │ │      self =             │ │
    │ │      stmt = b"INSERT INTO gdo_usersetting (uset_user,uset_key,uset_val) VALUES               │ │
    │ │             ('0','profile_v"+10                                                              │ │
    │ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
    │                                                                                                  │
    │ /home/gizmore/.pyenv/versions/3.14.7/lib/python3.14/site-packages/mysql/connector/connection.py: │
    │ 490 in cmd_query                                                                                 │
    │                                                                                                  │
    │    487 │   │   """                                                                               │
    │    488 │   │   if not isinstance(query, bytes):                                                  │
    │    489 │   │   │   query = query.encode('utf-8')                                                 │
    │ ❱  490 │   │   result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query))              │
    │    491 │   │                                                                                     │
    │    492 │   │   if self._have_next_result:                                                        │
    │    493 │   │   │   raise errors.InterfaceError(                                                  │
    │                                                                                                  │
    │ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
    │ │      buffered = False                                                                        │ │
    │ │         query = b"INSERT INTO gdo_usersetting (uset_user,uset_key,uset_val) VALUES           │ │
    │ │                 ('0','profile_v"+10                                                          │ │
    │ │           raw = False                                                                        │ │
    │ │ raw_as_string = False                                                                        │ │
    │ │          self =         │ │
    │ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
    │                                                                                                  │
    │ /home/gizmore/.pyenv/versions/3.14.7/lib/python3.14/site-packages/mysql/connector/connection.py: │
    │ 395 in _handle_result                                                                            │
    │                                                                                                  │
    │    392 │   │   elif packet[4] == 254:                                                            │
    │    393 │   │   │   return self._handle_eof(packet)                                               │
    │    394 │   │   elif packet[4] == 255:                                                            │
    │ ❱  395 │   │   │   raise errors.get_exception(packet)                                            │
    │    396 │   │                                                                                     │
    │    397 │   │   # We have a text result set                                                       │
    │    398 │   │   column_count = self._protocol.parse_column_count(packet)                          │
    │                                                                                                  │
    │ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
    │ │ packet = bytearray(b'\xf7\x00\x00\x01\xff\xac\x05#23000Cannot add or update a child row: a   │ │
    │ │          foreign key constraint fails (`pygdo`.`gdo_usersetting`, CONSTRAINT                 │ │
    │ │          `GDO__FK__gdo_usersetting__uset_user` FOREIGN KEY (`uset_user`) REFERENCES          │ │
    │ │          `gdo_user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE)')                       │ │
    │ │   self =                │ │
    │ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
    ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
    IntegrityError: 1452 (23000): Cannot add or update a child row: a foreign key constraint fails 
    (`pygdo`.`gdo_usersetting`, CONSTRAINT `GDO__FK__gdo_usersetting__uset_user` FOREIGN KEY (`uset_user`) REFERENCES 
    `gdo_user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE)
    
    During handling of the above exception, another exception occurred:
    
    ╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
    │ /home/gizmore/www/pygdo/index_wsgi.py:273 in pygdo_application                                   │
    │                                                                                                  │
    │   270 │   │   │                                                                                  │
    │   271 │   │   │   try:                                                                           │
    │   272 │   │   │   │   result = method.execute()                                                  │
    │ ❱ 273 │   │   │   │   result = aiorun(result)                                                    │
    │   274 │   │   │   except Exception as ex:                                                        │
    │   275 │   │   │   │   result = GDT_Error.from_exception(ex, method.gdo_module().render_name())   │
    │   276                                                                                            │
    │                                                                                                  │
    │ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
    │ │           args = ParserArgs(module=user, method=profile, args={'_url':                       │ │
    │ │                  'user.profile.for.0-guest%7Bweb%7D.html', 'for': ['0-guest{web}']})         │ │
    │ │        environ = {                                                                           │ │
    │ │                  │   'SSL_TLS_SNI': 'mogwai.mira-gpt.org',                                   │ │
    │ │                  │   'HTTP_ACCEPT': '*/*',                                                   │ │
    │ │                  │   'HTTP_USER_AGENT': 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko;  │ │
    │ │                  compatible; ClaudeBot/1.0; +c'+23,                                          │ │
    │ │                  │   'HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate',                      │ │
    │ │                  │   'HTTP_HOST': 'mogwai.mira-gpt.org',                                     │ │
    │ │                  │   'SERVER_SOFTWARE': 'Apache/2.4.58 (Ubuntu)',                            │ │
    │ │                  │   'SERVER_NAME': 'mogwai.mira-gpt.org',                                   │ │
    │ │                  │   'SERVER_ADDR': '192.168.2.214',                                         │ │
    │ │                  │   'SERVER_PORT': '443',                                                   │ │
    │ │                  │   'REMOTE_ADDR': '216.73.216.212',                                        │ │
    │ │                  │   ... +40                                                                 │ │
    │ │                  }                                                                           │ │
    │ │             ex = GDODBException("DB-Error: Cannot add or update a child row: a foreign key   │ │
    │ │                  constraint fails (`pygdo`.`gdo_usersetting`, CONSTRAINT                     │ │
    │ │                  `GDO__FK__gdo_usersetting__uset_user` FOREIGN KEY (`uset_user`) REFERENCES  │ │
    │ │                  `gdo_user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE)\nQuery:\nINSERT │ │
    │ │                  INTO gdo_usersetting (uset_user,uset_key,uset_val) VALUES                   │ │
    │ │                  ('0','profile_views','1')\n")                                               │ │
    │ │           file = None                                                                        │ │
    │ │           lang = 'en'                                                                        │ │
    │ │         method = profile(profile)=None                                                       │ │
    │ │           path = '/home/gizmore/www/pygdo/user.profile.for.0-guest%7Bweb%7D.html'            │ │
    │ │      path_info = '/user.profile.for.0-guest{web}.html'                                       │ │
    │ │             qs = {}                                                                          │ │
    │ │        raw_url = '/user.profile.for.0-guest%7Bweb%7D.html'                                   │ │
    │ │         result =                          │ │
    │ │    script_file = 'index_wsgi.py'                                                             │ │
    │ │    script_name = ''                                                                          │ │
    │ │         server = GDO_Server(2): ['2', 'Web', None, '!', None, None, 'web', 'en', '1', '1',   │ │
    │ │                  '2026-08-25 01:14:06.687']                                                  │ │
    │ │        session = GDO_Session()                                                               │ │
    │ │ start_response =                                                              │ │
    │ │            url = 'user.profile.for.0-guest%7Bweb%7D.html'                                    │ │
    │ │           user = guest{web}                                                                  │ │
    │ │    welcome_url = 'shadowdogs.welcome.html'                                                   │ │
    │ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
    │                                                                                                  │
    │ /home/gizmore/www/pygdo/index_wsgi.py:65 in aiorun                                               │
    │                                                                                                  │
    │    62 def aiorun(coro):                                                                          │
    │    63 │   while asyncio.iscoroutine(coro):                                                       │
    │    64 │   │   if not Application.LOOP.is_running():                                              │
    │ ❱  65 │   │   │   coro = Application.LOOP.run_until_complete(coro)                               │
    │    66 │   │   else:                                                                              │
    │    67 │   │   │   time.sleep(0.000025)                                                           │
    │    68 │   return coro                                                                            │
    │                                                                                                  │
    │ ╭────────────────────────── locals ──────────────────────────╮                                   │
    │ │ coro =  │                                   │
    │ ╰────────────────────────────────────────────────────────────╯                                   │
    │                                                                                                  │
    │ /home/gizmore/.pyenv/versions/3.14.7/lib/python3.14/asyncio/base_events.py:720 in                │
    │ run_until_complete                                                                               │
    │                                                                                                  │
    │    717 │   │   if not future.done():                                                             │
    │    718 │   │   │   raise RuntimeError('Event loop stopped before Future completed.')             │
    │    719 │   │                                                                                     │
    │ ❱  720 │   │   return future.result()                                                            │
    │    721 │                                                                                         │
    │    722 │   def stop(self):                                                                       │
    │    723 │   │   """Stop running the event loop.                                                   │
    │                                                                                                  │
    │ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
    │ │   future =                                    │ │
    │ │            exception=GDODBException("DB-Error: Cannot add or update a child row: a foreign   │ │
    │ │            key constraint fails (`pygdo`.`gdo_usersetting`, CONSTRAINT                       │ │
    │ │            `GDO__FK__gdo_usersetting__uset_user` FOREIGN KEY (`uset_user`) REFERENCES        │ │
    │ │            `gdo_user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE)\nQuery:\nINSERT INTO  │ │
    │ │            gdo_usersetting (uset_user,uset_key,uset_val) VALUES                              │ │
    │ │            ('0','profile_views','1')\n")>                                                    │ │
    │ │ new_task = True                                                                              │ │
    │ │     self = <_UnixSelectorEventLoop running=False closed=False debug=False>                   │ │
    │ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
    │                                                                                                  │
    │ /home/gizmore/www/pygdo/gdo/base/Method.py:388 in execute                                        │
    │                                                                                                  │
    │   385 │   async def execute(self):                                                               │
    │   386 │   │   lock = self.gdo_session_lock()                                                     │
    │   387 │   │   if lock is None:                                                                   │
    │ ❱ 388 │   │   │   return await self._execute()                                                   │
    │   389 │   │   lock.__enter__()                                                                   │
    │   390 │   │   self._env_session.hold_lock(lock)                                                  │
    │   391 │   │   try:                                                                               │
    │                                                                                                  │
    │ ╭─────────── locals ───────────╮                                                                 │
    │ │ lock = None                  │                                                                 │
    │ │ self = profile(profile)=None │                                                                 │
    │ ╰──────────────────────────────╯                                                                 │
    │                                                                                                  │
    │ /home/gizmore/www/pygdo/gdo/base/Method.py:421 in _execute                                       │
    │                                                                                                  │
    │   418 │   │   │   if tr:                                                                         │
    │   419 │   │   │   │   db.rollback()                                                              │
    │   420 │   │   │   │   tr = False                                                                 │
    │ ❱ 421 │   │   │   raise ex                                                                       │
    │   422 │   │   finally:                                                                           │
    │   423 │   │   │   if tr:                                                                         │
    │   424 │   │   │   │   db.commit()                                                                │
    │                                                                                                  │
    │ ╭─────────────────────────── locals ───────────────────────────╮                                 │
    │ │   db =  │                                 │
    │ │ self = profile(profile)=None                                 │                                 │
    │ │   tr = False                                                 │                                 │
    │ ╰──────────────────────────────────────────────────────────────╯                                 │
    │                                                                                                  │
    │ /home/gizmore/www/pygdo/gdo/base/Method.py:410 in _execute                                       │
    │                                                                                                  │
    │   407 │   │   │   self.gdo_before_execute()                                                      │
    │   408 │   │   │   if not self._prepare_nested_permissions(self):                                 │
    │   409 │   │   │   │   return self.empty()                                                        │
    │ ❱ 410 │   │   │   result = await self._nested_execute(self, True)                                │
    │   411 │   │   except (GDOParamError, GDOError) as ex:                                            │
    │   412 │   │   │   err_raw(str(ex))                                                               │
    │   413 │   │   │   return self                                                                    │
    │                                                                                                  │
    │ ╭─────────────────────────── locals ───────────────────────────╮                                 │
    │ │   db =  │                                 │
    │ │ self = profile(profile)=None                                 │                                 │
    │ │   tr = False                                                 │                                 │
    │ ╰──────────────────────────────────────────────────────────────╯                                 │
    │                                                                                                  │
    │ /home/gizmore/www/pygdo/gdo/base/Method.py:436 in _nested_execute                                │
    │                                                                                                  │
    │   433 │   │   │   │   │   cont = method._raw_args.pargs if type(key) is int else method._raw_a   │
    │   434 │   │   │   │   │   cont[key] = (await arg.execute()).render(Mode.render_txt)              │
    │   435 │   │   │   │   i += 1                                                                     │
    │ ❱ 436 │   │   gdt = method.gdo_execute()                                                         │
    │   437 │   │   while iscoroutine(gdt):                                                            │
    │   438 │   │   │   gdt = await gdt                                                                │
    │   439 │   │   return gdt                                                                         │
    │                                                                                                  │
    │ ╭────────────── locals ──────────────╮                                                           │
    │ │        arg = ['0-guest{web}']      │                                                           │
    │ │          i = 2                     │                                                           │
    │ │        key = 'for'                 │                                                           │
    │ │     method = profile(profile)=None │                                                           │
    │ │ return_gdt = True                  │                                                           │
    │ │       self = profile(profile)=None │                                                           │
    │ ╰────────────────────────────────────╯                                                           │
    │                                                                                                  │
    │ /home/gizmore/www/pygdo/gdo/user/method/profile.py:40 in gdo_execute                             │
    │                                                                                                  │
    │   37 │   │                                                                                       │
    │   38 │   │   user = self.get_user()                                                              │
    │   39 │   │   if user != self._env_user:                                                          │
    │ ❱ 40 │   │   │   user.increase_setting('profile_views')                                          │
    │   41 │   │   modules = ModuleLoader.instance().enabled()                                         │
    │   42 │   │   # A profile can show settings from many modules.  Prime the target                  │
    │   43 │   │   # user's values once, rather than issuing one query per setting.                    │
    │                                                                                                  │
    │ ╭─────────── locals ───────────╮                                                                 │
    │ │ self = profile(profile)=None │                                                                 │
    │ │ user = guest{web}            │                                                                 │
    │ ╰──────────────────────────────╯                                                                 │
    │                                                                                                  │
    │ /home/gizmore/www/pygdo/gdo/core/GDO_User.py:239 in increase_setting                             │
    │                                                                                                  │
    │   236 │                                                                                          │
    │   237 │   def increase_setting(self, key: str, by: float | int = 1):                             │
    │   238 │   │   old = self.get_setting_value(key)                                                  │
    │ ❱ 239 │   │   return self.save_setting(key, str(old + by))                                       │
    │   240 │                                                                                          │
    │   241 │   def reset_setting(self, key: str):                                                     │
    │   242 │   │   if key in self._vals:                                                              │
    │                                                                                                  │
    │ ╭──────── locals ────────╮                                                                       │
    │ │   by = 1               │                                                                       │
    │ │  key = 'profile_views' │                                                                       │
    │ │  old = 0               │                                                                       │
    │ │ self = guest{web}      │                                                                       │
    │ ╰────────────────────────╯                                                                       │
    │                                                                                                  │
    │ /home/gizmore/www/pygdo/gdo/core/GDO_User.py:231 in save_setting                                 │
    │                                                                                                  │
    │   228 │   │   │   │   'uset_user': self.get_id(),                                                │
    │   229 │   │   │   │   'uset_key': key,                                                           │
    │   230 │   │   │   │   'uset_val': val,                                                           │
    │ ❱ 231 │   │   │   }).soft_replace()                                                              │
    │   232 │   │   │   IPC.send('base.ipc_uset', (self.get_id(), key, val))                           │
    │   233 │   │   │   Application.publish_event(f'user_setting_{key}_changed', self, val)            │
    │   234 │   │   │   return Cache.update_for(self)                                                  │
    │                                                                                                  │
    │ ╭──────── locals ────────╮                                                                       │
    │ │  key = 'profile_views' │                                                                       │
    │ │ self = guest{web}      │                                                                       │
    │ │  val = '1'             │                                                                       │
    │ ╰────────────────────────╯                                                                       │
    │                                                                                                  │
    │ /home/gizmore/www/pygdo/gdo/base/GDO.py:397 in soft_replace                                      │
    │                                                                                                  │
    │   394 │   def soft_replace(self) -> Self:                                                        │
    │   395 │   │   if old := self.get_by_id(*self.get_ids()):                                         │
    │   396 │   │   │   return old.set_vals(self.dirty_vals()).save()                                  │
    │ ❱ 397 │   │   return self.all_dirty().insert()                                                   │
    │   398 │                                                                                          │
    │   399 │   def insert(self) -> Self:                                                              │
    │   400 │   │   return self.insert_or_replace(Type.INSERT)                                         │
    │                                                                                                  │
    │ ╭──────────────────────── locals ────────────────────────╮                                       │
    │ │  old = None                                            │                                       │
    │ │ self = GDO_UserSetting(0): ['0', 'profile_views', '1'] │                                       │
    │ ╰────────────────────────────────────────────────────────╯                                       │
    │                                                                                                  │
    │ /home/gizmore/www/pygdo/gdo/base/GDO.py:400 in insert                                            │
    │                                                                                                  │
    │   397 │   │   return self.all_dirty().insert()                                                   │
    │   398 │                                                                                          │
    │   399 │   def insert(self) -> Self:                                                              │
    │ ❱ 400 │   │   return self.insert_or_replace(Type.INSERT)                                         │
    │   401 │                                                                                          │
    │   402 │   def replace(self) -> Self:                                                             │
    │   403 │   │   return self.insert_or_replace(Type.REPLACE)                                        │
    │                                                                                                  │
    │ ╭──────────────────────── locals ────────────────────────╮                                       │
    │ │ self = GDO_UserSetting(0): ['0', 'profile_views', '1'] │                                       │
    │ ╰────────────────────────────────────────────────────────╯                                       │
    │                                                                                                  │
    │ /home/gizmore/www/pygdo/gdo/base/GDO.py:409 in insert_or_replace                                 │
    │                                                                                                  │
    │   406 │   │   if self.gdo_can_persist():                                                         │
    │   407 │   │   │   self.before_create()                                                           │
    │   408 │   │   │   query = self.query().type(type_).set_vals(self.insert_vals())                  │
    │ ❱ 409 │   │   │   self._last_id = str(query.exec().lastrowid)                                    │
    │   410 │   │   │   self._blank = False                                                            │
    │   411 │   │   │   self.all_dirty(False)                                                          │
    │   412 │   │   │   self.after_create()                                                            │
    │                                                                                                  │
    │ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
    │ │ query = QRY: INSERT INTO gdo_usersetting (uset_user,uset_key,uset_val) VALUES                │ │
    │ │         ('0','profile_views','1')                                                            │ │
    │ │  self = GDO_UserSetting(0): ['0', 'profile_views', '1']                                      │ │
    │ │ type_ =                                                                      │ │
    │ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
    │                                                                                                  │
    │ /home/gizmore/www/pygdo/gdo/base/Query.py:306 in exec                                            │
    │                                                                                                  │
    │   303 │   │   │   if self.is_select():                                                           │
    │   304 │   │   │   │   return db.select(query, use_dict, self._fetch_as, self._debug).nocache(s   │
    │   305 │   │   │   else:                                                                          │
    │ ❱ 306 │   │   │   │   return db.query(query, self._debug)                                        │
    │   307 │   │   except (AttributeError, InterfaceError, ProgrammingError, DataError, DatabaseErr   │
    │   308 │   │   │   raise GDODBException(str(ex), query)                                           │
    │   309                                                                                            │
    │                                                                                                  │
    │ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
    │ │       db =                              │ │
    │ │    query = "INSERT INTO gdo_usersetting (uset_user,uset_key,uset_val) VALUES                 │ │
    │ │            ('0','profile_v"+10                                                               │ │
    │ │     self = QRY: INSERT INTO gdo_usersetting (uset_user,uset_key,uset_val) VALUES             │ │
    │ │            ('0','profile_views','1')                                                         │ │
    │ │ use_dict = True                                                                              │ │
    │ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
    │                                                                                                  │
    │ /home/gizmore/www/pygdo/gdo/base/Database.py:86 in query                                         │
    │                                                                                                  │
    │    83 │   │   │   return cursor                                                                  │
    │    84 │   │   except (ProgrammingError, DatabaseError, IntegrityError) as ex:                    │
    │    85 │   │   │   Logger.exception(ex, "Database.query")                                         │
    │ ❱  86 │   │   │   raise GDODBException(ex.msg, query)                                            │
    │    87 │                                                                                          │
    │    88 │   def select(self, query: str, dictionary: bool = True, gdo: 'GDO' = None, debug: bool   │
    │    89 │   │   try:                                                                               │
    │                                                                                                  │
    │ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
    │ │ cursor =                │ │
    │ │  debug = False                                                                               │ │
    │ │   link =                │ │
    │ │  query = "INSERT INTO gdo_usersetting (uset_user,uset_key,uset_val) VALUES                   │ │
    │ │          ('0','profile_v"+10                                                                 │ │
    │ │   self =                                │ │
    │ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
    ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
    GDODBException: DB-Error: Cannot add or update a child row: a foreign key constraint fails (`pygdo`.`gdo_usersetting`, 
    CONSTRAINT `GDO__FK__gdo_usersetting__uset_user` FOREIGN KEY (`uset_user`) REFERENCES `gdo_user` (`user_id`) ON DELETE 
    CASCADE ON UPDATE CASCADE)
    Query:
    INSERT INTO gdo_usersetting (uset_user,uset_key,uset_val) VALUES ('0','profile_views','1')